[英]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.