我在這裏的一個特殊情況,我有一個WebApplication包含對WCF服務的引用。構建失敗,沒有任何錯誤或警告
同時建立使用VS2010,構建失敗,沒有任何錯誤或警告。然而,使用MsBuild
構建.csproj
是成功的。
想不通我應該嘗試在Visual Studio中,解決/診斷問題。你能幫忙嗎?
編輯:
我發現,在構建已失敗,
- 在狀態欄中顯示的文本。
2.從輸出窗口:
==========生成:0成功或達到最新,1失敗,0跳過=== =======
我在這裏的一個特殊情況,我有一個WebApplication包含對WCF服務的引用。構建失敗,沒有任何錯誤或警告
同時建立使用VS2010,構建失敗,沒有任何錯誤或警告。然而,使用MsBuild
構建.csproj
是成功的。
想不通我應該嘗試在Visual Studio中,解決/診斷問題。你能幫忙嗎?
編輯:
我發現,在構建已失敗,
2.從輸出窗口:
==========生成:0成功或達到最新,1失敗,0跳過=== =======
我剛碰到類似的情況。在我的情況下,在csproj文件的BeforeBuild目標中出現的自定義操作(來自Nuget.org上的MSBuildVersioning包 - http://www.nuget.org/packages/MSBuildVersioning/)失敗,未在正常位置觸發任何錯誤消息。
我能夠通過設置MSBuild項目生成輸出的詳細程度,以確定這(在Visual Studio中的選項/項目和解決方案/生成和運行設置區)爲「診斷」,如下圖所示。這表明自定義操作(在我的情況下是HgVersionFile)是失敗的。
如果沒有幫助,我應該找一份新工作? –
剛剛重新啓動VS2013幫助了我。我正在研究一臺資源有限的虛擬機,但我不確定這與它有什麼關係。 – Jmaurier
@Jmaurier記憶增加和工作!謝謝。 –
這發生在我身上添加新頁面的asp.net項目後。
我所做的是排除頁面,得到它的成功打造。
然後我添加了所有代碼註釋掉的頁面。成功。
然後,我通過註釋掉位碼位,然後它的所有工作。
首先 「清理解決方案」,然後重建SOLN。
如果不能解決問題並重新啓動解決方案。
試試這些東西,希望絕對有效。
我想展開Sasse's answer。
要解決Visual Studio 2015 Update 2的問題,我必須一次構建一個項目,並在每次構建後查看輸出窗口。
一個項目給我
「的類型或命名空間名稱SomeNamespace'不存在命名空間‘BeforeSomeNamespace’(是否缺少程序集引用?)存在」。
「錯誤列表」窗口中沒有錯誤,但程序集在「參考」下有一個黃色警告標誌。
然後我看到引用項目的目標是4.5.1,引用的項目是4.6.1。將4.6.1更改爲4.5.1可使整體構建成功。
那麼,一次構建一個項目可能沒有必要,但有一件事是肯定的:仔細看一下輸出窗口(更好地複製/粘貼到記事本並使用Ctrl + F查找) 。它不會出現在錯誤列表中,但它確實會破壞您的解決方案。 -.- –
在我的解決方案中添加一個新項目(稱爲「TestCleaner」)後,我遇到了類似的問題:構建失敗,沒有錯誤。
我增加了輸出冗長度(請參閱Richard J Foster的說明)並搜索輸出「失敗」。我很快發現哪個項目失敗了,爲什麼:項目「TestRunner」失敗,出現「錯誤」CS0246:無法找到類型或命名空間名稱'TestCleaner'(即使代碼中未突出顯示任何問題)。
檢查TestRunner的引用,果然TestCleaner的引用被標記爲未解析,並且引用屬性中缺少該路徑。刪除和重新添加沒有解決它。再次,沒有解釋爲什麼。
我終於發現了原因:「TestCleaner」使用不同的目標框架的其他項目。它是.Net 4.5.2;其他人是4.5。
什麼都沒有爲我工作,所以我刪除了.suo文件,重新啓動VS,清理投影,然後構建將工作。
似乎這個問題有多個答案,所以我會加入我的個人經驗,希望能夠節省一些時間/壓力。
確保解決方案中的所有項目都針對相同的.NET版本。
與OP類似,存在0個錯誤,但構建保持失敗。但是,有一個警告條目(埋在幾百個無用的XML警告之間......)說,一個項目的目標是與引用它的項目不同的.NET版本。整個問題是,我的解決方案中的一個項目針對.NET 4.5.2,其餘的針對4.5.1。它應該即使有這種差異(因此爲什麼它只是一個警告),但不幸的是,它打破了構建。
奇怪的部分是它構建/運行良好一段時間,但突然構建開始失敗一次導致此問題。不知道我爲了開始抱怨不同的.NET目標版本而做了什麼,但是我覺得在Visual Studio中只有一些謎團是永遠不會解決的。
原來我添加了一個新的項目,它有一個不同的.Net目標框架版本 - 我修正了這個問題,儘管構建仍然失敗,但我仍然能夠看到破壞構建的錯誤。謝謝。 – Fijjit
另一種可能是Visual Studio需要以管理員身份運行,這可能與部署到本地IIS服務器或其他部署需求有關。
當所引用的項目之一是.NET框架的高於當前項目的版本時,可能會發生這種情況。
刪除了幾個表單後,我遇到了同樣的問題。一旦我進入代碼併爲我刪除的控件之一執行了「顯示定義」,就會彈出錯誤消息。
我也在針對我的一個項目設計一個更高級的框架,所以也可能是這個問題。
只是爲了完成,也許可以幫助別人在將來再次遇到同樣的錯誤,我使用Mahapps metro接口並更改了一個窗口的XAML,但忘記更改代碼隱藏中的部分類。在這種情況下,構建失敗,沒有錯誤或警告,我能夠從設置增加輸出的詳細程度來找到它:
也在錯誤過濾器中選擇「僅構建」而不是「構建+智能感知」。 – niico
我有同樣的問題。錯誤列表窗口有2個下拉列表「顯示包含的項目」和「顯示問題生成」。這些名稱在懸停在下拉列表後可見。 「顯示問題生成」下拉菜單設置爲「Build + IntelliSense」,更改爲「Build Only」後,列表中出現錯誤。
我面臨同樣的問題!只需刪除bin文件夾並重新啓動您的VS
。 就是這樣。在VS 2013
中測試的 。
什麼解決了我的問題,是從解決方案的根目錄中刪除.vs
文件夾並重新啓動Visual Studio。
也許可以說很重要,即使這些錯誤沒有顯示在錯誤列表窗格中,它們仍然存在於構建的輸出中。
如果安裝NuGet包 'Microsoft.Net.Compilers',確保它適合你的Visual Studio版本(構建工具的版本)。
版本1.x意味着C#6.0(Visual Studio 2015和更新)。例如,1.3.2
所以不要升級到版本1.x的上面,如果你使用VS2015
你怎麼知道你的編譯失敗? –
@SamIam更新的問題表明這一點。 – Abhijeet
輸出標籤中是否有任何內容? – Malice