Visual studio biên dịch tốt nhưng vẫn hiển thị các đường màu đỏ


96

Tôi đang sử dụng VS 2012 và nó hoạt động tốt cho đến khi tôi bắt đầu quan sát thấy một số hành vi hài hước. Khi tôi mở mã của mình, nó hiển thị gạch dưới màu đỏ mà chúng tôi thường thấy khi có lỗi trong mã của chúng tôi. Đáng ngạc nhiên, mã biên dịch tất cả đều tốt. Tôi đã thực hiện những quan sát sau đây không bình thường chút nào.

  1. Gạch chân màu đỏ trong mã
  2. Trong khi làm sạch hoặc xây dựng các giải pháp không có lỗi.
  3. màu đỏ Gạch chân biến mất một thời gian sau khi tôi xây dựng / làm sạch giải pháp nhưng cuối cùng vẫn quay trở lại.
  4. Bởi vì điều này intellisense của tôi ngừng hoạt động.
  5. Tôi không thể nhấp chuột phải vào bất kỳ thành phần nào và đi đến định nghĩa của nó.

Có ý kiến ​​gì không?


Mã nào đang hiển thị gạch dưới? Bạn có thể cung cấp ví dụ?
matth 13/114

Có lẽ bạn đang chạy mã cũ? Hãy thử một triển khai nhỏ hiển thị điều gì đó, nếu không có gì xảy ra, bạn có thể đang chạy mã cũ.
Tối đa

Bạn có đang chạy Reshaper hay bất kỳ công cụ nào khác có thể đang thực hiện phần gạch chân không?
AlG

Điều này có trên tất cả các tệp mã không? Nó đã xảy ra với tôi một lần khi tôi mở một tệp không phải từ giải pháp của tôi, không thể truy cập định nghĩa đã cho tôi.
Pierre-Luc Pineault

Câu trả lời:


48

Xóa nội dung của thư mục ASP.NET tạm thời và sau đó xây dựng lại. Nó sẽ nằm trong thư mục người dùng của bạn (dành cho IIS Express - \ AppData \ Local \ Temp \ Temporary ASP.NET Files ) hoặc thư mục Windows (dành cho IIS - C: \ Windows \ Microsoft.Net \ Framework \ vx.xx \ Tệp ASP.NET tạm thời )

Các đường dẫn nằm ngoài đầu tôi và có thể không đúng


Ngoài ra, nếu điều này chỉ ảnh hưởng đến một dự án / giải pháp và bạn đang sử dụng git với tính năng bỏ qua thích hợp cho các tệp tạm thời, hãy thử giới thiệu với bạn các thay đổi, xóa bản sao đang làm việc và buộc kiểm tra chi nhánh của bạn.
Kyle

3
điều gì sẽ xảy ra nếu lỗi trong Visual studio cho Mac? đường dẫn cho thư mục này là gì?
Mất

1
Tôi cần phải đóng và mở VS sau đó và nó hoạt động. Cảm ơn
MusicAndCode

168

Visual Studio 2017:

Đóng Visual Studio và xóa .vsthư mục nằm trong thư mục giải pháp đã làm việc với tôi.

Thư mục này có một hiddenthuộc tính. Bạn có thể cần thay đổi cài đặt trong tùy chọn thư mục để hiển thị các tệp ẩn.


2
Đối với VS 2017, giải pháp này hoạt động mà không giải pháp nào khác trên trang này làm được (như dọn dẹp thư mục tạm thời và dọn dẹp / bin và / obj). Các .vs không bị "ẩn" trên hệ thống của tôi như đã đề cập (trong khi đó, ví dụ: thư mục .git của tôi là tất nhiên, vì vậy tôi có thể nhận ra sự khác biệt).
secretwep

1
Tôi đã thử xóa tệp .suo nhưng nó được tạo lại một lần nữa khi tôi khởi động lại VS 2017
Amit Kulat, 19/09/18

3
@AmitKulat Có, tệp .suo là một bộ nhớ có cấu trúc được tạo bởi Visual Studio và nó chứa một loạt các cài đặt. Do một số lỗi, nó ngừng hoạt động bình thường. Vì vậy, khi bạn xóa nó, nó sẽ được tạo lại với cài đặt mặc định chính xác.
VeganHunter 20/09/18

4
“Không được hỗ trợ… Phiên bản Visual Studio này không thể mở các dự án sau…” - một cửa sổ bật lên khá đau tim sau khi xóa thư mục .vs. Nhưng nó có vẻ lành tính. Nhấp vào OK và giải pháp vẫn mở, sau một Báo cáo di chuyển. Đây có thể là một vấn đề không liên quan đã không hoạt động cho đến khi .vs bị xóa. Báo cáo ở đây cho hậu thế.
Bob Stein

3
Điều này cũng làm cho Visual Studio 2019 (Preview Xóa thư mục .vs.)
Albert Romkes

10

Vừa gặp sự cố này khi làm việc với giải pháp được tạo trong Visual Studio 2012 nhưng đang chạy vào năm 2013. Tôi đã đóng Visual Studio, xóa tất cả thư mục \ bin và \ obj và sự cố đã biến mất.


9

Đối với tôi, vấn đề này đã được khắc phục khi tôi Unloaded và Reloaded lại dự án. Tôi đã làm việc cho tôi, hy vọng nó cũng hiệu quả với bạn :)


7

Tôi biết điều này là cũ nhưng trong trường hợp mọi người tìm thấy chủ đề này như tôi đã làm từ google. Tôi gặp sự cố này sau khi giải quyết một số xung đột từ svn. Giải pháp có một số dự án trong đó và tôi đã giải quyết một số xung đột trong một vài dự án khác nhau. Tôi đã thực hiện Giải pháp Xây dựng -> Sạch sẽ sau đó là Giải pháp Xây dựng -> Xây dựng lại và mọi thứ đều tốt trở lại.


7

Tôi đã gặp sự cố này và nó có liên quan đến ReSharper.

Các bước giải pháp cho tôi:

1) Tắt ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Suspend Now

2) Xây dựng giải pháp

(Ctrl-Shift-B)

3) ReEnable ReSharper

VisualStudio\Tools\Options\ReSharper Ultimate\General\Resume Now

Steve


Đã làm cho tôi. Đúng. ReSharper là vấn đề.
Muhammad Saqib

6

Bạn đã cài đặt bất kỳ plugin nào như resharper chưa? Tôi gặp sự cố với một plugin xấu.

Thử chạy studio trực quan ở chế độ an toàn để ngăn các plugin chạy.

devenv /Safemode

10
Tôi đã sử dụng Resharper. Bạn có thể tắt ReSharper bằng cách sử dụng nút Suspend trong menu Tools -> Options -> ReSharper. Sau đó Tiếp tục nó, nó đã giúp tôi.
Oleg Kyrylchuk

5

Nếu bạn đang sử dụng Resharper như tôi, bạn có thể xóa bộ nhớ cache của resharper theo liên kết này: https://www.jetbrains.com/help/resharper/Configuring_Caches_Location.html

To specify the location for caches

1. Open the Environment | General page of ReSharper options.
2. Use the Save solution caches in to select the location for cache files:
3. User 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%\ReSharperCache
5. Solution folder to store them in the root folder of the current solution
6. Custom folder to choose a custom location for ReSharper cache files.
7. Click 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 list. For more information, see managing and sharing resharper settings.
8. Reopen your solution for the changes to take effect.

Nút 'Xóa bộ nhớ cache' trên Môi trường | Trang chung của các tùy chọn ReSharper đã giải quyết vấn đề của tôi. Cảm ơn vì đã gợi ý!
nilsK

3

Trong vs2013, tôi đã giải quyết vấn đề này bằng cách xóa tất cả các thư mục obj / bin của mình trên tất cả các dự án. Vấn đề có thể là do cấu hình giải pháp mà tôi đã xóa, nhưng chưa được dọn dẹp đúng cách, vì thực hiện Xây dựng -> Giải pháp Sạch sẽ không xóa kết quả đầu ra cũ khỏi các thư mục obj / bin.


1

Điều phù hợp với tôi là xóa tệp chỉ mục IntelliSense.

Tệp IntelliSense nằm trong cùng thư mục với giải pháp của bạn.

Tên tệp của nó là SolutionName.sdf

Chỉ cần xóa tệp này, mở lại giải pháp của bạn và IntelliSense sẽ bắt đầu xây dựng lại tệp chỉ mục của nó. Sau đó vấn đề sẽ biến mất.


1

Điều này đã làm việc cho tôi trong Visual Studio Enterprise 2017:

  1. Điều hướng đến Công cụ> Tùy chọn> Trình soạn thảo văn bản> JavaSCript / TypeScript> Linting> Chung

  2. bỏ chọn "Bật ESLint"


1
Sau nhiều ngày nghiên cứu, dỡ / tải dự án và nhiều lần xóa thư mục .vs, đây là nguyên nhân gốc rễ của vấn đề của tôi, vì vậy tôi coi đây là một câu trả lời hợp lệ. Cầu mong ai đó, ở đâu đó phù hộ cho con trai của mẹ.
Nandolcs

1

Tôi cũng gặp phải vấn đề này và có thể đưa Visual Studio trở lại trạng thái bình thường bằng cách làm như sau:

  1. Xác định dự án mà mã lót đỏ đến từ
  2. Xóa dự án đường màu đỏ khỏi các tham chiếu nơi nó đang được sử dụng (ProjectName \ References - nhấp chuột phải, thêm tài liệu tham khảo, bỏ chọn dự án đường màu đỏ)
  3. Xây dựng (bạn sẽ gặp lỗi ngay bây giờ)
  4. Thêm lại tham chiếu dự án vừa bị xóa
  5. Xây dựng lại
  6. Các đường đỏ nên được loại bỏ và nên xây dựng dự án!

1

Tôi đã gặp vấn đề tương tự với rất nhiều dòng màu đỏ trong một số tệp nguồn * cpp. Mặc dù mã được biên dịch hoàn hảo. Không có giải pháp nào khác phù hợp với tôi.

Việc thay đổi thứ tự các dòng #include của tệp * .cpp-file có thể làm cho các đường màu đỏ trở nên khác biệt - và sắp xếp lại với thứ tự đã khôi phục.

Sau đó, tôi nhận thấy một tệp tiêu đề được đưa vào hai lần trong một tệp * .cpp. Tôi đã loại bỏ cái thứ hai và - mọi thứ đều ổn.

Bao gồm một tệp tiêu đề hai lần trong cùng một tệp * .cpp dường như không có vấn đề gì với trình biên dịch nhưng đối với phần intellisense.


0

Có lẽ là muộn để bổ sung nhưng hy vọng nó vẫn có thể giúp ích cho ai đó. Tôi đã gặp vấn đề tương tự khi tôi nhìn thấy rất nhiều hình vuông màu đỏ trong một vài tệp. Tôi đã thử tất cả các câu trả lời được đề xuất ở trên nhưng dường như không có gì hoạt động. Thời điểm tôi bắt đầu duyệt qua các lớp, cấu trúc trong các tệp khác mà tệp khiếu nại có tham chiếu, vấn đề đã biến mất. Có vẻ như intellisense không thể tự giải quyết các phụ thuộc vì lý do nào đó.


3
Tôi không thấy giải pháp trong câu trả lời của bạn. "Dường như intellisense không thể tự giải quyết các phụ thuộc ..." - bạn đang nói bằng cách "duyệt qua các lớp, cấu trúc" bạn đã giúp intellisense giải quyết các phụ thuộc?
Sнаđошƒаӽ

4
@ Sнаđошƒаӽ Tôi nghĩ đó chính xác là những gì anh ấy đang nói.
Robert Columbia

@RobertColumbia Không xúc phạm OP, nhưng tôi nghĩ điều đó thật nực cười.
Sнаđошƒаӽ

@ Sнаđошƒаӽ tốt đó là những gì anh ta đang nói. Nếu bạn cho rằng chiến lược đó không hữu ích, hãy từ chối câu trả lời.
Robert Columbia

@ Sнаđошƒаӽ Chà, tôi muốn đăng bài vì tôi cũng đang gặp phải vấn đề tương tự. Đầu tiên, tôi đã thử tất cả các câu trả lời trước khi tôi đăng những gì phù hợp với tôi Giống như những người khác cũng đã trả lời dựa trên kinh nghiệm đó. Tôi không thấy có gì sai với nó. Thay vào đó, nó cũng có thể giúp ích cho người khác.
irsis

0

Đối với tôi, tôi đã từng bật tính năng ghi nhật ký hợp nhất để gỡ lỗi một số lỗi phụ thuộc lắp ráp (fuslogvw từ dấu nhắc CMD). Đó là tháng trước và tôi đã trải qua thời gian xây dựng chậm hơn nhiều (5-7 phút) kể từ đó. Tôi cũng đã hoàn toàn quên rằng tôi đã bật chúng. Những khúc gỗ này là cổ chai của tôi và việc vô hiệu hóa chúng sẽ khiến việc lặp lại nhanh hơn nhiều. Hy vọng điều này sẽ giúp ai đó!


0

Tôi đã gặp sự cố này với Visual Studio 2017.
Ngoài ra, phiên bản gỡ lỗi của chương trình của tôi cũng chạy rất chậm.

Tôi đã xóa tệp Giải pháp .slnvà tạo một tệp mới.


0

Các bước hoạt động

  1. Mở Giải pháp và xây dựng lại tất cả
  2. Đóng giải pháp
  3. Mở giải pháp và làm sạch
  4. Đóng giải pháp
  5. Mở giải pháp và xây dựng lại tất cả
  6. Giải pháp đóng và sau đó mở và nó sẽ tốt. Điều này phù hợp với tôi mọi lúc

Cẩn thận xóa một số tệp cài đặt này vì bạn sẽ mất cài đặt gỡ lỗi đã lưu, v.v. và nó có thể gây ra nhiều thiệt hại hơn bạn nhận ra


0

Chỉ cần làm mới quy trình / giải pháp. Nó sẽ được giải quyết.


0

Trong trường hợp của tôi với VS 2017, tôi có nhiều "đường màu đỏ" được hiển thị bên dưới tất cả các ký hiệu được xác định trong thư viện của bên thứ ba nhưng dự án của tôi thực sự có thể xây dựng mà không có vấn đề gì. Tôi đã thử tất cả các giải pháp được đề xuất (như xóa thư mục .VS, khởi động lại VS, v.v.) nhưng không có giải pháp nào hoạt động.

Cuối cùng, tôi đã sửa nó và đây là cách thực hiện: Tôi mở trang thuộc tính của dự án ứng dụng của mình, sau đó đi tới "C / C ++ -> Chung -> Thư mục Bao gồm Bổ sung", đây là nơi tôi đặt tất cả các đường dẫn tiêu đề thư viện bên thứ ba cần thiết. Tôi xóa tất cả đường dẫn (nhưng lưu chúng ở đâu đó), nhấp vào "Ok" để xác nhận. Sau đó, tôi quay lại cài đặt cũ, dán các đường dẫn đó trở lại, nhấp vào "Ok" để xác nhận, sau đó tất cả các "đường màu đỏ" đó biến mất.


0

Đã tìm thấy giải pháp này:

  1. Đóng Visual Studio (đảm bảo devenv.exe không có trong Trình quản lý tác vụ).
  2. Xóa %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCachethư mục.
  3. Khởi động lại Visual Studio.

0

Tôi đã gặp sự cố này trong nhiều tháng và cuối cùng đã khắc phục được. Đóng Visual Studio và xóa thư mục .vs nằm trong thư mục giải pháp KHÔNG LÀM VIỆC CHO TÔI.

Có một thẻ assemblyIdentity trong web.config đang tham chiếu đến một thư viện không có trong thư mục tham chiếu của tôi. Tôi đã xóa thẻ này, làm sạch, đóng và mở lại và sự cố đã được khắc phục.

  1. Kiểm tra từng thẻ assemblyIdentity trong web.config của bạn và kiểm tra chúng với thư mục tham chiếu trong trình khám phá giải pháp
  2. Xóa bất kỳ thẻ assemblyIdentity nào, bao gồm cả thẻ gốc phụ thuộcAssembly cho bất kỳ thẻ nào không được liệt kê trong thư mục tham chiếu của bạn.
  3. Dung dịch sạch
  4. Đóng và mở lại giải pháp
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.