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和工作角色。

解决方案非常简单。

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

在此处输入图像描述

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

在此处输入图像描述

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

转到项目依赖项; 选择“ClassLibrary1”并将“ClassLibrary2”设置为其依赖项。

在此处输入图像描述

相似,选择“WpfFormApplication1”并将“ClassLibrary1”设置为其依赖项。

在此处输入图像描述

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

在此处输入图像描述

解决方案来自我的博客 。

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

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

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

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

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

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

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

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

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

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

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

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