2017-10-05 110 views
3

我最近從Visual Studio 2012升級到2017(已更新至15.3.5版)並且在IDE中遇到了一些問題。Visual Studio 2017不會突出顯示錯誤

在某個項目中,我沒有得到錯誤下劃線。

enter image description here

,並在錯誤列表窗格中, 「只構建」 真實地反映了比 「生成+智能感知」

enter image description here

而且更多信息,以選擇 「生成+智能感知」 ,我只能在Output窗口看到編譯器錯誤。這裏是一個構建失敗

enter image description here

,但在輸出窗口後的錯誤名單如下:

3> ------構建開始:項目:...,配置:調試任何CPU ------
3> C:\ Checkout ... \ MainForm.vb(454,27):錯誤BC30311:類型'Module1.aClass'的值無法轉換爲'Module1.bClass' 。

這不會發生在所有項目上。我做了一個新項目,看看我能不能複製,但我做不到。這是一個新代碼相同的項目,其中代碼中的錯誤以及「Build + IntelliSense」的工作原理是錯誤的。

enter image description here

我甚至分類保存在vbproj文件的XML和「顯示差異」違規項目VS新的項目,並沒有明顯的差別,這將導致這一點。兩者都引用相同的編譯器。這兩個項目均以.Net 4.6.2爲目標,並且僅針對x86進行編譯。該違規項目引用了一些其他項目(C#和VB.Net)以及第三方dll和nuget包。除了這些差異之外別無他法。

違規項目解決方案中的其他項目(C#和VB.Net)正常工作。

我在網上看到過類似的問題,但沒有修復工作。我已經嘗試了安裝程序中的「修復」選項。然後,我卸載Visual Studio並重新安裝。

更新:

更改目標框架,似乎有一定的效果。一個具有這種行爲的項目的目標是4.6.2,並且沒有顯示錯誤,當它改爲4.7時,它顯示出一個編譯錯誤。然後回到4.5,它顯示一個錯誤。然後回到4.6.2,它沒有顯示任何錯誤。重複此過程證明是不可重複的。 4.7,4.5,4.6,4.6.2 - 無論如何,現在都顯示沒有錯誤。

鏈接此微軟頁面https://developercommunity.visualstudio.com/content/problem/7759/no-errors-displayed-in-the-error-list.html也很重要,因爲許多其他人似乎也有類似的問題。

+0

非常奇怪的行爲...看起來像一個bug給我。你有沒有在同一個VS版本的另一臺電腦上試過有問題的項目? - 如果我是你,我會[向微軟寫一個錯誤報告](https://connect.microsoft.com/VisualStudio),將該項目附加到它。 –

+0

我用Visual Studio 2012中的代碼創建了一個新項目,然後使用Visual Studio 2017對其進行更新,但無法重現此問題。所以這個問題似乎與您的項目更相關,如何在您的解決方案中使用上面的代碼創建一個新項目,檢查它是否正常工作?嘗試刪除.vs文件。 –

+0

沒有repro,但我避免安裝更新。特別是15.3.x的更新已經產生了大量的錯誤報告,對我來說有太多的風險。有時我們只需要做我們的工作,而不是測試微軟的產品。使用幫助>發送反饋>報告問題是報告這類問題的正確途徑。 –

回答

1

我已經解決了這個問題,至少在我的解決方案中。

我當時在玩項目引用,發現當某個特定項目沒有被另一個項目引用時,我得到錯誤下劃線。我經歷了一個更改框架版本目標的過程,直到有效。

我所有的項目都是以.NET 4.6.2爲目標的。通過在所有項目上定位4.7,我現在在錯誤窗口中獲得適當的錯誤下劃線和報告。

我不確定這是否是所有人的解決方案,並且需要一些額外的工作才能將我的項目部署到生產環境,但我可以接受。

我想這與使用Visual Studio 2012並升級到2017年的目標4.6.2有關。如果/當項目升級時可能沒有正確設置。

+0

也看起來像它發生在4.6.1 – thecoolmacdude