pen*_*ake 10 .net msbuild rebuild compilation visual-studio
为了让我更清楚,我想问你们有正确的条件让你们
项目或解决方案重建 而不是 在Visual Studio 中构建?
如果我改写它:为什么MS需要在Visual Studio中创建"重新构建所有"选项?他们这样做的主要动机是什么?
谢谢!
DRY:Rebuild = Clean + Build依次为每个项目.
Build不会删除以前的构建输出.重建会删除它们并再次构建(如果你在一个解决方案中,一次一个项目:删除proj1\bin\Debug,build proj1,delete proj2\bin\Debug ...).
我进行重建(或干净构建)的主要情况是我需要更新我的解决方案第三个依赖项.让我们看看以下文件夹树:
SOLUTION
|__Dependencies
|__PROJ_1
|__bin
|__obj
|__(code)
|__PROJ_2
|__bin
|__obj
|__(code)
如果我在Dependencies中更改我的dll并且不进行重建,VS(和MsBuild)仍将使用PROJ_N\bin\Debug(或bin\Release)中的前一个dll版本,因为依赖查找顺序(请参阅http://www.beefycode.com/post/Resolving-Binary-References-in-MSBuild.aspx):
{CandidateAssemblyFiles} $(ReferencePath)- 引用路径属性,来自.USER文件. {HintPathFromItem}.bin文件夹中的dll进入第一个查找案例,Dependencies文件夹中的dll出现在第二个案例中......
在这种情况下,我会做一个干净的(调试),清理(发布),然后构建以根除bin文件夹中的所有以前的版本.我可能有点矫枉过正,重建可能就够了,但我不确定因为dll在Debug和Release文件夹中...
| 归档时间: |
|
| 查看次数: |
1248 次 |
| 最近记录: |