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