0

在没有对程序集代码或其任何引用程序集代码进行任何更改的情况下连续构建解决方案后,我注意到新的 DLL 没有在构建文件夹中编译(即,DLL 仍然具有旧的日期和时间) . 但是,如果我进行任何代码更改然后构建解决方案,则会编写新的 DLL。

我还发现进行重建(与标准构建相反)确实会强制 VS 编译新的 DLL。清理解决方案并进行标准构建也会导致这种情况。

关于我在标准重建时未编译新 DLL 的初始问题:这是设计使然吗?这不是问题,因为我可以创建一个进行重建的宏并将其分配给 CTRL+SHIFT+ALT+B,但是由于过去的部署已经指出了一些问题,我想知道为了安心正确的 DLL 可能未正确复制到生产服务器。

4

2 回答 2

2

它的行为正确。“构建”(与“重建”相反)仅构建自上次构建以来发生变化的事物。

于 2011-08-14T16:15:09.040 回答
2

您正在看到设计行为。构建命令只会触发解决方案中源/设置已更改的那些项目的构建。显然更频繁地使用并为开发人员节省了时间。

MSDN 的如何为 Visual Studio 2005准备和管理构建

选择“构建”或“构建解决方案”以仅编译自上次构建以来已更改的项目文件和组件。

有关重建的更多信息:Visual Studio 中重建和清理 + 构建之间的区别

于 2011-08-14T16:16:17.637 回答