6

我有很多 C# (Visual Studio 2008) 项目,其中一些正在更新程序集,即使没有任何更改(即使我选择了构建而不是重建)。我的大多数项目都不这样做,它只是少数几个。

我还没有发现这些项目之间有什么区别,我想知道是否有人知道是什么影响了它。需要明确的是,我在构建之前没有对代码进行任何更改,但是当我在 Visual Studio 中运行 Build 命令时,仍然会重新创建程序集。

很抱歉,我无法提供任何进一步的细节,但请让我知道是否还有其他我可以检查的内容可能会有所帮助。

任何人都可以帮忙吗?我已经为此扯了一段时间的头发了。

谢谢,艾伦

4

3 回答 3

12

实际上,汉斯现在已删除的答案为我指明了正确的方向。将 MSBuild 的详细程度提高到诊断告诉我,VS 认为一个项目总是过时的,因为一个文件的“复制到输出目录”设置为“总是复制”。其他项目紧随其后,因为他们依赖于该项目并注意到新建的 DLL 比他们自己的输出文件更新。

将“复制到输出目录”更改为“如果较新则复制”解决了该问题。

于 2014-08-12T14:13:11.017 回答
4

有一种叫做项目依赖的东西。

当您的一个项目依赖于一个或多个其他项目并且您构建它时,您的项目所依赖的其他项目也将开始构建(如果需要)。此外,如果依赖关系发生了变化,那么依赖它们的项目将始终被重建。

您可以右键单击解决方案并选择项目构建顺序以打开一个窗口,该窗口解释了构建项目的顺序以及每个项目的依赖关系。

于 2010-11-28T21:05:20.387 回答
1

我没有深入了解这个项目,最终重建了其中一个项目。事实证明,这一切都源于这个一直在重建的项目。

我认为这与每次重建的嵌入式资源有关。

抱歉,我对此没有明确的答案。感谢 RobV 提供的有用信息。

艾伦

于 2010-12-10T10:45:43.587 回答