【发布时间】:2009-10-01 20:03:27
【问题描述】:
在 VS2005 中,我有几个相互依赖的 C# 项目。
如果项目 A 依赖于 B(例如引用它),那么我希望 B 在我构建 A 时构建,假设 B 自上次构建以来已经以某种方式发生了变化。 VC 项目就是这样,但由于某种原因,它似乎不适用于 C# 项目。如果我清理 B 然后构建 A 它只会告诉我它找不到 B...
有什么想法吗?
【问题讨论】:
标签: c# .net visual-studio-2005
在 VS2005 中,我有几个相互依赖的 C# 项目。
如果项目 A 依赖于 B(例如引用它),那么我希望 B 在我构建 A 时构建,假设 B 自上次构建以来已经以某种方式发生了变化。 VC 项目就是这样,但由于某种原因,它似乎不适用于 C# 项目。如果我清理 B 然后构建 A 它只会告诉我它找不到 B...
有什么想法吗?
【问题讨论】:
标签: c# .net visual-studio-2005
如果您右键单击您的 Visual Studio 解决方案并选择“项目构建顺序”,您可以验证这些单个项目的构建顺序。还要确保您没有在“发布”版本中引用“调试”DLL,反之亦然。
【讨论】:
您需要构建实际的解决方案,而不是单独构建项目。
【讨论】:
解决方案可让您定义项目之间的依赖关系。如果你使用它,它应该会自动工作。通常依赖关系也是自动设置的。您可能添加了对程序集的引用,而不是项目。观看“添加参考”对话框中的“项目”选项卡。
【讨论】:
如果您将所有项目添加到同一个解决方案并设置它们之间的依赖关系,那么当您在“较低”项目之一中更改某些内容时,Visual Studio 应该能够计算出正确的顺序并构建需要构建的所有内容.
在你的情况下,它会知道它必须在构建 A 之前重建 B。
【讨论】:
覆盖您的 csproj 中的目标 AfterResolveReferences。然后使用项目@(NonVCProjectReference) 列出每个项目的路径并构建它们。 我建议你阅读MSBuild documentation
【讨论】: