我正在調試Visual Studio 2015中的.NET 4.0應用程序。我的應用程序生成並運行良好,但是當我嘗試編輯並在調試器下運行時繼續,無論我在主項目中做了哪些更改或做出了哪些更改,我都會看到一個對話框,內容如下:錯誤CS7038(未能發出模塊)只在編輯並繼續
進行了編輯,但無法編譯。執行不能繼續 ,直到編譯器錯誤得到解決。
作爲排序我談論變化的一個例子,我試圖加入這一行的各種方法:
Console.WriteLine("foo");
當我看到在Visual Studio中的錯誤列表窗格中,我看到只有一個錯誤,CS7038,描述「無法發射模塊'<my app name>
'」。沒有給出文件名,行號或字符。我的代碼中沒有扭曲的紅色下劃線。如果我停止正在運行的應用程序,請使用更改進行構建,然後再次運行,所有內容都將生成並運行良好。所以編譯時編譯器和編譯和繼續編譯器認爲可以接受的東西似乎有一些差異。
有誰知道一種方法來獲取更多關於的信息爲什麼編輯在編輯和繼續模式下失敗?我讀了一些關於連接和調試VBCSCompiler進程的內容,所以我嘗試了這一點,但即使所有異常類型在拋出時都設置爲中斷,附加的VS也不會中斷。
我沒有分享任何代碼,因爲這不是關於我的代碼的問題,而是有關找出編輯和繼續編譯器認爲是錯誤的策略,而且我知道編譯器錯誤的來源可能在我整個項目中的任何地方。
編輯:
正如在評論中提到的,我能夠調試器附着在Visual Studio和突破時,一個異常被在點擊「繼續」編輯代碼後拋出。例外是System.NotSupportedException
,並顯示以下消息:「在調試期間不允許更改程序集引用的版本」。它列出了有問題的程序集的名稱,這是我的應用程序使用的一個小型VB.Net項目,主要使用C#。我正在嘗試構建一個MCVE以提交給Microsoft,但目前我無法在僅使用一個VB和一個C#項目的較小解決方案中重現該問題。
編輯2:
我找到了一個解決方法和自我回答的情況下,任何人的問題遇到過這個奇怪的問題,但我保留了「回答」對號的人誰可以解釋發生了什麼(爲什麼編輯器認爲引用項目的版本號在編輯過程中發生了變化)。
你是否殺死了VS的所有實例並重新啓動?你重置VS設置?如果沒有,我會從那裏開始。 – David
我已經重新啓動VS,是的。沒有重置VS設置,這聽起來很可怕。有沒有辦法保存設置,以便在不能解決問題的情況下恢復它們? – adv12
是的。轉到工具 - >導入和導出設置。從那裏你可以保存當前的設置(導出),重新加載舊的設置(導入)或全部重置。如果您選擇全部重置,則下一個屏幕會詢問您是否想要先導出當前設置(建議)。 – David