Visual Studio 2013解决方案构建不在构建顺序中

loc*_*obr 26 c# msbuild azure visual-studio visual-studio-2013

我在使用C#解决方案构建"Fresh"时遇到了问题.如果我清理解决方案并再次构建它将无法构建(我可以做几次并且它将构建).它有一个关于azure项目在它依赖的worker和web项目之前构建的错误.还有关于解决方案中的大多数项目是如何寻找的

WAT070 : The referenced assembly {...}/Worker.dll was not found. 
Please make sure to build the role project that produces this assembly before building this Windows Azure Cloud Service Project.
{...}\VisualStudio\v12.0\Windows Azure Tools\2.2\Microsoft.WindowsAzure.targets 1252    5   AzureProjectName
Run Code Online (Sandbox Code Playgroud)

现在,如果我按照项目依赖项中列出的顺序构建项目 - >构建顺序一切正常.此外,在Azure项目之前列出了Web和工作角色.

Has*_*man 32

解决方案非常简单.

您可以通过右键单击"项目解决方案"并选择"选择项目构建顺序"选项来设置项目构建顺序.

在此输入图像描述

例如,我有一个WpfFormApplicaiton1和两个标题为"ClassLibrary1"和"ClassLibrary2"的类.默认情况下,Visual Studio将其设置如下:

在此输入图像描述

我的要求是"ClassLibrary2"将被"ClassLibrary1"使用,"ClassLibrary1"将被"WpfFormApplication1"使用.因此,为了满足此要求,我必须更改默认项目构建顺序.

转到项目依赖项; 选择"ClassLibrary1"并将"ClassLibrary2"设置为其依赖项.

在此输入图像描述

相似,选择"WpfFormApplication1"并将"ClassLibrary1"设置为其依赖项.

在此输入图像描述

现在,设置了所需的项目构建顺序; 由Project Build Order的选项确认.

在此输入图像描述

解决方案来自我的博客.

  • 当你完成所有这些并且它仍然不起作用时,解决方案并不是很简单.项目参考GUID的区分大小写的缓存被证明是我们的问题,请参阅此页面上的其他答案http://stackoverflow.com/a/23699611/503688 (5认同)

mal*_*der 18

您的问题可能是未定义依赖关系.即使构建顺序显示了构建项目的顺序,如果您没有在Project Dependencies下定义每个项目的依赖项,那么msbuild将不知道在继续之前等待依赖项构建完成.

澄清一下:除非您实际选中项目是依赖项的框,否则构建顺序列表中的项目可以并行构建,而不是按顺序构建.

您可以看到Tools->Options->Project and Solutions->Build and Run,要构建的并行项目数有一个默认值. 在此输入图像描述

因此,要使构建过程等待构建依赖项,请确保为项目依赖项 - >依赖项下所需的项目检查所有"Depends on"字段.

  • 因此,当我将数字降低到1时,它确实构建了.仍然试图找到"缺失的依赖",但解决方案中的21个项目很难. (2认同)

小智 6

我们遇到的问题是项目指南的情况有所不同.编辑项目文件解决了这个问题.我们将所有Guids改为大写