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

时间:2013-12-06 15:18:50

标签: c# visual-studio azure msbuild 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

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

5 个答案:

答案 0 :(得分:17)

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

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

您可以在Tools->Options->Project and Solutions->Build and Run下看到要构建的并行项目数的默认值。 enter image description here

因此,要使构建过程等待构建依赖项,请确保检查项目依赖项下所需项目的所有“Depends on”字段 - >的依赖关系。

答案 1 :(得分:5)

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

答案 2 :(得分:4)

我也遇到过这个问题。就我而言,问题是我在解决方案中有几个项目引用。其他项目使用不同版本的框架作为我的工作者角色(4.5.1 vs 4.5)。

当我更改所有项目以使用相同版本的框架时,解决方案构建并成功运行。

答案 3 :(得分:3)

我有这个问题。就我而言,由VS.Net确定的解决方案的项目构建顺序是不正确的。具体来说,我的web项目列在其三个依赖项之上。

这三个依赖项列在解决方案资源管理器中Web项目的“引用”节点下。但是,在对话项目依赖项中,Web项目不依赖于任何项目。

另外,我注意到这个网络项目有一个小的蓝色感叹号,带有胡扯消息" Web项目''需要SQL Server Express,它未安装在此计算机上。 ...&#34 ;.在摆弄了web.config之后,基于ASP.NET Web Api: Project requires SQL Server Express并重新加载项目,感叹号消失了,项目依赖项在对话框项目依赖项中被正确检查,构建顺序正确地反映了这一点。但是,当我将更改恢复为web.config时,作为测试,依赖项未被删除,因此我不确定是什么解决了我的问题。

无论如何,在对话框项目依赖项中,您可以手动检查任何未自动识别为依赖项的项目。

答案 4 :(得分:0)

检查以确保工作文件夹中没有任何剩余的旧文件。这些可能会导致与MSBuild的混淆。为了避免这种情况,只需吹走路径中的所有旧文件并获取最新信息。