簡體   English   中英

Visual Studio 2013解決方案構建不在構建順序中

[英]Visual Studio 2013 Solution building not in build order

我在使用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”字段。

我們遇到的問題是項目指南的情況有所不同。 編輯項目文件解決了這個問題。 我們將所有Guids改為大寫

我也遇到過這個問題。 就我而言,問題是我在解決方案中有幾個項目引用。 其他項目使用不同版本的框架到我的工作者角色( 4.5.1 vs 4.5 )。

當我將所有項目更改為使用相同版本的框架時,解決方案構建並成功運行。

我有這個問題。 就我而言,由VS.Net確定的解決方案的項目構建順序是不正確的。 具體來說,我的web項目列在其三個依賴項之上。

這三個依賴項列在解決方案資源管理器中Web項目的“引用”節點下。 但是,在對話項目依賴項中,Web項目不依賴於任何項目。

此外,我注意到該Web項目有一個小的藍色感嘆號,其中包含“Web項目”需要SQL Server Express,該計算機未安裝在此計算機上......“。 在擺弄web.config之后,基於ASP.NET Web Api:Project需要SQL Server Express並重新加載項目,感嘆號消失了,項目依賴項在對話框項目依賴項中被正確檢查,構建順序正確地反映了這一點。 但是,當我將更改還原為web.config時,作為測試,依賴項未被刪除,因此我不確定是什么解決了我的問題。

無論如何,在對話框項目依賴項中,您可以手動檢查任何未自動識別為依賴項的項目。

檢查以確保工作文件夾中沒有任何殘留的舊文件。 這些可能會導致與MSBuild的混淆。 為了避免這種情況,只需吹走路徑中的所有舊文件並獲取最新信息。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM