Ral*_*iks 12 msbuild visual-studio visual-studio-2012 visual-studio-2015
我在VS 2012(更新4)中构建了一个相当大的解决方案(大约50个项目,所有C#).我注意到在完成VS内部的完全重建之后,直接跟随构建(按F6)会导致一个项目重建,尽管我没有触及任何东西.
第二次构建调用正确检测到所有项目都是最新的.
将msbuild输出设置为诊断并检查第一个构建调用的输出显示:
NuGet package restore started.
Restoring NuGet packages for solution XXX.
[... some boring lines on NuGet Package restore]
All packages are already installed and there is nothing to restore.
NuGet package restore finished.
Project 'YYY' is not up to date. Last build was with unsaved files.
------ Build started: Project: YYY, Configuration: Debug Any CPU ------
Build started 21-11-2013 21:20:54.
Run Code Online (Sandbox Code Playgroud)
我特别感兴趣的是Project 'YYY' is not up to date. Last build was with unsaved files.
我没有未保存的文件.有趣的是,谷歌和必应在搜索此消息时都没有给出一个单击.
什么可能导致这个问题的任何线索?我怎样才能调试构建过程的这一部分?我相信构建过程的这一部分甚至在调用MsBuild之前(至少新的NuGet包恢复功能在调用MsBuild之前出现,我相信MsBuild从'Build started'行开始.
好吧,我终于可以自己解决这个问题了。我显然忽略了一个未设置为项目依赖项的依赖项。这是必要的,因为并非解决方案中的所有项目都通过项目引用链接,而是通过普通的二进制引用链接(因为也可以在进行大部分开发的部分解决方案中打开项目子集,以加快加载速度等)。
归档时间: |
|
查看次数: |
2308 次 |
最近记录: |