【发布时间】:2011-07-08 22:10:08
【问题描述】:
你好 :) 我对 C# / .NET 还很陌生,我对项目依赖性有一些疑问。
首先:我的情况。我有一个解决方案——我们称之为 MyLibrary——它有几个 .dll 输出项目。这些项目相互依赖(作为项目引用),也依赖于一些外部库(.dll-References)。我确保项目引用了外部引用的特定副本。
现在我有第二个解决方案 - MyApplication - 它包含上述一些库项目和其他项目。因此,我自己的所有项目都相互引用了 iva 项目参考。我已经使用参考设置“复制本地:真”设置了所有项目。
我现在的问题是,MyApplication 抛出一个错误,指出其中一个库项目具有不同的版本 - 这很奇怪,因为如果我构建 MyApplication 它应该构建所有必需的项目。
我现在的问题:
- 如果我的项目 C 依赖于项目 B,而项目 B 又依赖于项目 A,我需要在项目 C 中引用项目 A,即使项目 C 不使用项目 A 中的任何类型。有解决方法吗?
- 我能否获得一个干净的输出日志,其中说明何时构建哪个项目?从 Visual Studio 输出日志中,我很难区分项目是“重建”还是刚刚复制到目标文件夹
- 是否有工具可以读取 *.sln 或 *.csproj 文件并直接显示哪些程序集引用了哪些程序集?
- 正如我所说,我在 MyApplication 中包含了几个来自 MyLibrary 的项目,并将 MyApplication 中 MainProject 的引用设置为“Copy Local: True”。如果我清理 MyApplication(解决方案),它会从 MyLibrary-Destination-Folder 中删除所有 *.dll。我能否以某种方式抑制这种行为(它应该只从 MyApplication-destination-folder 中删除 *.dll)。
感谢四位的帮助。
P.S.:我来自德国,我有一本关于 C# 的“伽利略”书,其中涵盖的主题不是很好。是否有一些很好的教程/书籍直接与 Visual Studio 的项目管理功能有关?
【问题讨论】: