Visual Studio編譯正常,但仍顯示紅線(Visual studio compiles fine but still shows red lines)


I am using VS 2012 and it was working all fine until I started observing some funny behavior. When I open my code it shows red Underlines which we usually see when there is an error in our code. Surprisingly, code compiles all fine. I have made following observations that are not normal at all.

  1. Red Underlines in the code
  2. While cleaning or building the solution no error.
  3. red Underlines go away for some time after I build/clean the solution but comes back eventually.
  4. Because of this my intellisense stopped working.
  5. I can not right click to any component and go to its definition.

Any ideas?

 

https://stackoverflow.com/questions/21098333/visual-studio-compiles-fine-but-still-shows-red-lines

 

Visual studio compiles fine but still shows red lines

我正在使用VS 2012,在我開始觀察到一些有趣的行為之前,它一直運行良好。 當我打開代碼時,它會顯示紅色的下划線,當代碼中有錯誤時,通常會看到這些下划線。 出人意料的是,代碼可以很好地進行編譯。 我做出了以下不正常的觀察。

  • 代碼中的紅色下划線
  • 在清潔或構建溶液時沒有錯誤。
  • 在我構建/清潔解決方案后,紅色下划線消失了一段時間,但最終又回來了。
  • 因此,我的智慧停止了工作。
  • 我不能右鍵單擊任何組件並轉到其定義。

有任何想法嗎?

 

  • 下划線顯示什么代碼? 你能提供例子嗎?
  • 您是否正在運行舊代碼? 嘗試一個顯示某些內容的小型實現,如果什么也沒發生,則可能是在運行舊代碼。
  • 您是否正在運行Reshaper或其他任何可能要強調以下內容的工具?
  • 這是所有代碼文件上的嗎? 當我打開一個不是我的解決方案中的文件時,發生在我身上的事一次,無法進入定義將它交給了我。

 

 


Visual Studio 2017:

關閉Visual Studio並刪除解決方案目錄中的.vs文件夾對我來說很有效。

此文件夾具有hidden屬性。您可能需要在文件夾選項中更改設置以顯示隱藏文件。

 

  • 對於VS 2017,此解決方案可以在此頁面上的其他解決方案都無法做到的地方工作(例如清理臨時文件夾以及清理/ bin和/ obj)。提到的.vs在我的系統上沒有被"隱藏"(例如,我的.git文件夾當然是,所以我可以分辨出區別)。
  • 這也解決了我在VS 2015中的問題
  • 刪除僅.suo文件(位於.vs文件夾中)也可以
  • 這也解決了我在VS 2017中的問題
  • 我嘗試刪除.suo文件,但是當我重新啟動VS 2017時會再次重新創建它
  • @AmitKulat是的.suo文件是由Visual Studio創建的結構化存儲,它包含許多設置。由於某些錯誤,它無法正常工作。因此,將其刪除時,將使用正確的默認設置重新創建它。
  • @AmitKulat通常,刪除.suo就足夠了,但並非總是如此。刪除整個.vs(包含.suo)更為"有力"。是的,當您重新打開解決方案時,將重新創建.vs。
  • "不受支持...此版本的Visual Studio無法打開以下項目..."-刪除.vs目錄后,彈出窗口相當令人心碎。但它看起來是良性的。單擊"確定",然后在遷移報告后仍然打開解決方案。在刪除.vs之前,這可能是一個不相關的潛在問題。為了后代在這里報告。
  • 這也適用於Visual Studio 2019(預覽。刪除.vs文件夾)
  • 完美的解決方案
  • 我有相同/相似的問題。項目中顯然有一個類,但是Visual Studio無法用顏色編碼識別,並且對該類的每個引用都顯示為錯誤(即使編譯良好)。刪除隱藏的.vs文件夾就可以了。

 

 


刪除臨時ASP.NET文件夾的內容,然后重新生成。它將位於您的用戶文件夾(對於IIS Express- AppData Local Temp Temporary ASP.NET文件)或Windows目錄(對於IIS-C: Windows Microsoft.Net Framework vx.xx 臨時ASP.NET文件)

路徑不在我的頭上,可能不正確

 

  • 或者,如果這只是影響一個項目/解決方案,並且您使用git並使用適當的臨時文件忽略適當的臨時文件,請嘗試提交更改,刪除工作副本並強制簽出您的分支。
  • 如果錯誤是在Visual Studio for Mac中怎么辦?該文件夾的路徑是什么?
  • 我需要關閉並打開VS之后,它才能工作。謝謝

 

 

 

 


使用在Visual Studio 2012中創建但在2013年運行的解決方案時遇到了這個問題。我關閉了Visual Studio,刪除了所有 bin和 obj目錄,該問題消失了。


我知道這很舊,但如果人們像我從Google那樣找到此線程,就可以了。解決了svn的一些沖突后,我遇到了這個問題。該解決方案中包含多個項目,我解決了幾個不同項目中的一些沖突。我做了一個Build-> Clean Solution,然后是Build-> Rebuild Solution,一切都恢復了。


對我來說,這個問題在我再次卸載並重新加載項目時得到了解決。我為我工作,希望它也對您有用:)


您是否安裝了像resharper這樣的插件?我的插件有問題。

嘗試以安全模式運行Visual Studio,以防止插件運行。

1
devenv  /Safemode

 

  • 如果您使用的是Resharper,則更新應該可以解決問題,發生在我身上...
  • 我正在使用Resharper。您可以使用工具->選項-> ReSharper中的掛起按鈕來禁用ReSharper。然后恢復它,它對我有所幫助。

 

 

 

 


我遇到了這個問題,它與ReSharper有關。

為我解決的步驟:

1)禁用ReSharper

1
2
VisualStudio\Tools\Options
eSharper Ultimate\General\Suspend Now

2)建立解決方案

1
(Ctrl-Shift-B)

3)重新啟用ReSharper

1
2
3
VisualStudio\Tools\Options
eSharper Ultimate\General
esume Now

史蒂夫

 

  • 為我工作。是。 ReSharper是問題所在。

 

 


如果您像我一樣使用Resharper,則可以通過以下鏈接刪除resharper緩存:https://www.jetbrains.com/help/resharper/Configuring_Caches_Location.html

1
2
3
4
5
6
7
8
9
10
11
To specify the location  for caches

1Open the Environment | General page of ReSharper options.
2Use the Save solution caches in to select the location for cache files:
3User local settings folder to store them in the following directory%LOCALAPPDATA%\JetBrains\Transient
4.System TEMP folder to store them in the following directory%TEMP%
eSharperCache
5Solution folder to store them in the root folder of the current solution
6Custom folder to choose a custom location for ReSharper cache files.
7Click Save to apply the modifications and let ReSharper choose where to save them, or save the modifications to a specific settings layer using the Save To drop-down listFor more information, see managing and sharing resharper settings.
8Reopen your solution for the changes to take effect.

 

  • 環境|清除緩存按鈕。 ReSharper選項的常規頁面解決了我的問題。謝謝你的提示!

 

 


在vs2013中,我通過刪除所有項目中的所有obj / bin文件夾解決了此問題。這個問題可能是由於我刪除了解決方案配置,但是沒有正確清理,因為執行Build-> Clean Solution不會從obj / bin文件夾中刪除舊的輸出。


這在Visual Studio Enterprise 2017中對我有用:

  • 導航到工具>選項>文本編輯器> JavaSCript / TypeScript> Linting>常規

  • 取消選擇"啟用ESLint"

 

  • 經過數天的研究,卸載/加載項目以及刪除許多.vs文件夾,這是我遇到問題的根本原因,因此我認為這是一個有效的答案。

 

 


對我有用的是刪除IntelliSense索引文件。

IntelliSense文件與您的解決方案位於同一目錄中。

它的文件名是SolutionName.sdf

只需刪除此文件,然后再次打開您的解決方案,IntelliSense將開始重建其索引文件。之后,問題將消失。

 

 


只需刷新項目/解決方案。它將解決。


我也遇到了這個問題,並且可以通過執行以下操作將Visual Studio恢復到正常狀態-

  • 標識紅線代碼來自的項目
  • 從正在使用的引用中刪除紅線項目(ProjectName references-右鍵單擊,添加引用,取消選中紅線項目)
  • 構建(您現在應該得到錯誤)
  • 重新添加剛剛刪除的項目引用
  • 再建一次
  • 紅線應該刪除,項目應該建立!

 

  • 這對我有用,謝謝!

 

 


我在最新的Visual Studio 2017中遇到了這個問題。
另外,我程序的調試版本運行緩慢。

我刪除了解決方案文件.sln並創建了一個新文件。


就VS 2017而言,我在第三方庫中定義的所有符號下方都有許多"紅線"顯示,但我的項目實際上可以毫無問題地構建。我已經嘗試了所有建議的解決方案(例如刪除.VS文件夾,重新啟動VS等),但是它們都不起作用。

最后,我修復了它,這是這樣的:打開我的應用程序項目的屬性頁,然后轉到" C / C ++->常規->其他包含目錄",在該位置放置了所有必需的第三方庫標頭路徑。我刪除了所有路徑(但是將它們保存在某處),單擊"確定"進行確認。然后我回到相同的設置,將這些路徑粘貼回去,單擊"確定"確認,然后所有這些"紅線"消失。


可行的步驟

  • 打開解決方案並重新構建所有
  • 封閉解決方案
  • 打開解決方案並進行清潔
  • 封閉解決方案
  • 打開解決方案並重新構建所有
  • 關閉然后打開解決方案,它應該很好。每次都對我有用

小心刪除其中的一些設置文件,因為您將丟失已保存的調試設置等,並且可能會造成比您預期更大的損害

 

 


也許補充已經太晚了,但希望它仍然可以對某人有所幫助。當我在幾個文件中看到很多紅色花形時,我遇到了類似的問題。我嘗試了上面提出的所有答案,但似乎沒有任何效果。當我開始瀏覽類,其他文件中引用了抱怨文件的結構時,問題消失了。似乎intellisense出於某種原因無法自行解決依賴關系。

 

  • 我沒有在您的答案中找到解決方案。"看來intellisense無法自行解決依賴關系..."-您是說"通過瀏覽類,結構"來幫助intellisense解決依賴關系嗎?
  • @Sна?ош?а?我認為這正是他的意思。
  • @RobertColumbia對OP沒有冒犯,但我認為那太荒謬了。
  • @Sна?ош?а?嗯,這就是他在說的。如果您認為該策略沒有幫助,請否決答案。
  • @Sна?ош?а?好吧,我到達郵局是因為我也遇到了同樣的問題。首先,在發布對我有用的內容之前,我嘗試了所有答案,就像其他人也根據那里的經驗回答了。我沒有發現任何問題。相反,它可能也會對其他人有所幫助。
  • 我面臨着同樣的問題,這是它得到解決的唯一方法。 VS索引完成后,所有包含都無法解析。然后我開始打開一些文件,VS似乎找到了我正在處理的類的正確位置。附帶說明,我正在與CMAKE一起進行一個大型項目。

 

 


我在幾個* cpp源文件中有很多紅線時也遇到了同樣的問題。雖然代碼編譯完美。沒有其他解決方案對我有用。

更改* .cpp文件的#include行的順序可能會使紅線消失-並以恢復的順序重新打包。

然后,我注意到在一個* .cpp文件中兩次包含了一個頭文件。我刪除了第二個-一切都很好。

在同一* .cpp文件中包含兩次頭文件似乎對編譯器沒有問題,但對intellisense部分卻沒有問題。


對我來說,我一次啟用了融合日志記錄功能來調試一些程序集相關性錯誤(CMD提示符下的Fuslogvw)。那是幾個月前,從那時起,我的構建時間就慢得多(5-7分鍾)。我也完全忘記了讓他們啟用。這些日志是我的瓶頸,禁用它們使迭代變得更快。希望這對某人有幫助!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM