我发现Visual Studio的行为很少见。其中一条评论可能是因为这些项目是从VS2008升级而来的。
具体而言。假设项目之间存在依赖关系,其中A取决于B,B取决于C,C取决于D。
A< - B< - ℃下 - d
现在说A中有错误,但B,C和D编译正确。
接下来发生的事情是VS每次尝试编译时都会编译所有四个项目。
命令:右键单击项目A,选择“生成”。
菜单中的相同行为:构建/构建A
有没有办法确保Visual Studio只在这些项目发生变化时才重建依赖项目?目前,Visual Studio重建所有依赖项。
我注意到以下链接上的建议是将解决方案划分为逻辑组(然后直接引用.dll)。如果这是前进的最佳方式,是否要将每个项目构建到一个公共。\ bin文件夹,然后从那里引用?
相关问题:Visual studio keeps building everything
如果我能保留一个大的解决方案文件,那就太棒了。
更新:
在此处描述的详细构建模式中发现了警告:http://support.microsoft.com/kb/2516078但它似乎并不相关。我仍然要解决这个问题。 ( NOW FIXED 通过使用$(VAR)环境变量手动重新引用项目+路径提示)
直接将笔记本电脑指向笔记本电脑。由于过热,CPU受到限制。
完成了每个项目并关闭了自动序列化(在项目属性/构建屏幕中找到)
增加了工具/选项/构建和运行中的最大并行构建数。我不认为这会有所帮助,因为它只是一台带有两个核心的笔记本电脑,但确实如此。
看到'先前已成功构建'...所以看起来像 所期望的行为经常发生(仍在调查中)。现在情况要好得多。
仍然会通过详细的构建日志和整理过程。
答案 0 :(得分:4)
您可能想要检查以下选项:
工具下的[x]仅在运行
上构建启动项目和依赖项
- >选项 - >项目和解决方案 - >建立并运行。
答案 1 :(得分:1)
我不知道故障的原因。当我按F5时,VS似乎只构建了需要构建的东西。
但我有一个建议:充分利用“卸载项目”功能。如果您的解决方案仅包含项目,因为您引用它们,但这些项目本身并不依赖于您的解决方案中的任何其他项目,那么一旦它们构建完成,您就可以卸载它们。
例如,这是我目前的情况:
我正在为我的项目制作UI。我的UI只有一个解决方案。
我需要引用其他团队成员正在开发的一些库,但我自己很少对这些库进行任何更改。
所以我的解决方案包含大约15个项目,但其中只有10个是我的。除了我需要查看或更改该代码之外,不需要加载另外5个我引用的库。所以我只是让它们“卸载”。
每天或每两天我“重新加载”它们,从源代码控制中获取最新更改,重建,然后再次卸载它们。
我还卸载了一些我很少需要更改的项目,例如我的框架库。
这使我的解决方案变得灵活,因为当我构建解决方案时,实际上只构建了大约一半的代码。它还可以加速搜索并使解决方案资源管理器不那么混乱。