Visual studio รวบรวมได้ดี แต่ยังคงแสดงเส้นสีแดง


96

ฉันใช้ VS 2012 และใช้งานได้ดีจนกระทั่งฉันเริ่มสังเกตพฤติกรรมตลก ๆ เมื่อฉันเปิดรหัสจะแสดงขีดเส้นใต้สีแดงซึ่งเรามักจะเห็นเมื่อมีข้อผิดพลาดในรหัสของเรา น่าแปลกที่โค้ดรวบรวมได้ดีทั้งหมด ฉันได้ทำการสังเกตต่อไปนี้ซึ่งไม่ปกติเลย

  1. ขีดเส้นใต้สีแดงในรหัส
  2. ขณะทำความสะอาดหรือสร้างโซลูชันไม่มีข้อผิดพลาด
  3. ขีดเส้นใต้สีแดงหายไประยะหนึ่งหลังจากที่ฉันสร้าง / ทำความสะอาดโซลูชัน แต่ในที่สุดก็กลับมา
  4. ด้วยเหตุนี้ Intellisense ของฉันจึงหยุดทำงาน
  5. ฉันไม่สามารถคลิกขวาที่ส่วนประกอบใด ๆ และไปที่คำจำกัดความของมัน

ความคิดใด ๆ ?


รหัสใดที่ขีดเส้นใต้ คุณสามารถให้ตัวอย่างได้หรือไม่?
ครบ

คุณอาจใช้รหัสเก่าหรือไม่ ลองใช้งานขนาดเล็กที่แสดงบางสิ่งบางอย่างหากไม่มีอะไรเกิดขึ้นแสดงว่าคุณกำลังเรียกใช้โค้ดเก่า
สูงสุด

คุณใช้ Reshaper หรือเครื่องมืออื่น ๆ ที่อาจขีดเส้นใต้หรือไม่?
AlG

สิ่งนี้อยู่ในไฟล์รหัสทั้งหมดหรือไม่ มันเกิดขึ้นกับฉันครั้งหนึ่งเมื่อฉันเปิดไฟล์ที่ไม่ได้มาจากโซลูชันของฉันไม่สามารถไปที่คำจำกัดความที่ให้ไว้กับฉันได้
Pierre-Luc Pineault

คำตอบ:


48

ลบเนื้อหาของโฟลเดอร์ ASP.NET ชั่วคราวแล้วสร้างใหม่ ซึ่งจะอยู่ในโฟลเดอร์ผู้ใช้ของคุณ (สำหรับIIS Express - \ AppData \ Local \ Temp \ Temporary ASP.NET Files ) หรือไดเร็กทอรี Windows (สำหรับIIS - C: \ Windows \ Microsoft.Net \ Framework \ vx.xx \ ไฟล์ ASP.NET ชั่วคราว )

เส้นทางอยู่เหนือศีรษะของฉันและอาจไม่ถูกต้อง


หรืออีกวิธีหนึ่งหากสิ่งนี้ส่งผลกระทบต่อโปรเจ็กต์ / โซลูชันเดียวและคุณกำลังใช้คอมไพล์ที่มีการละเว้นที่เหมาะสมสำหรับไฟล์ชั่วคราวให้ลองยอมรับการเปลี่ยนแปลงลบสำเนาการทำงานของคุณและบังคับให้ชำระเงินสาขาของคุณ
Kyle

3
จะเกิดอะไรขึ้นถ้าเกิดข้อผิดพลาดใน Visual studio for Mac? เส้นทางสำหรับโฟลเดอร์นี้จะเป็นอย่างไร
หาย

1
ฉันต้องการปิดและเปิด VS หลังจากนั้นจึงใช้งานได้ ขอบคุณ
MusicAndCode

170

Visual Studio 2017:

การปิด Visual Studio และการลบ.vsโฟลเดอร์ที่อยู่ในไดเร็กทอรีโซลูชันใช้ได้ผลสำหรับฉัน

โฟลเดอร์นี้มีhiddenแอตทริบิวต์ คุณอาจต้องเปลี่ยนการตั้งค่าในตัวเลือกโฟลเดอร์เพื่อแสดงไฟล์ที่ซ่อนอยู่


2
สำหรับ VS 2017 วิธีนี้ใช้งานได้โดยที่ไม่มีคนอื่นในหน้านี้ทำ (เช่นการทำความสะอาดโฟลเดอร์ temp และการล้าง / bin และ / obj) . vs ไม่ได้ถูก "ซ่อน" ในระบบของฉันตามที่กล่าวไว้ (ในขณะที่โฟลเดอร์. git ของฉันเป็นแน่นอนดังนั้นฉันจึงสามารถบอกความแตกต่างได้)
secretwep

1
ฉันพยายามลบไฟล์. suo แต่มันถูกสร้างขึ้นใหม่อีกครั้งเมื่อฉันรีสตาร์ท VS 2017
Amit Kulat

3
@AmitKulat ใช่ไฟล์. suo เป็นที่เก็บข้อมูลที่มีโครงสร้างซึ่งสร้างขึ้นโดย Visual Studio และมีการตั้งค่ามากมาย เนื่องจากข้อผิดพลาดบางอย่างทำให้หยุดทำงานอย่างถูกต้อง ดังนั้นเมื่อคุณลบมันจะถูกสร้างขึ้นใหม่ด้วยการตั้งค่าเริ่มต้นที่ถูกต้อง
VeganHunter

4
“ ไม่รองรับ ... Visual Studio เวอร์ชันนี้ไม่สามารถเปิดโปรเจ็กต์ต่อไปนี้ได้ ... ” - ป๊อปอัปที่ทำให้หัวใจหยุดเต้นหลังจากลบไดเร็กทอรี. vs แต่ปรากฏว่าอ่อนโยน คลิกตกลงและโซลูชันจะเปิดขึ้นหลังจากรายงานการย้ายข้อมูล นี่อาจเป็นปัญหาที่ไม่เกี่ยวข้องซึ่งอยู่เฉยๆจนกว่า. vs จะถูกลบ รายงานที่นี่สำหรับลูกหลาน
Bob Stein

3
นอกจากนี้ยังใช้งานได้กับ Visual Studio 2019 (ดูตัวอย่างการลบโฟลเดอร์. vs)
Albert Romkes

10

เพิ่งมีปัญหานี้ขณะทำงานกับโซลูชันที่สร้างใน Visual Studio 2012 แต่ทำงานในปี 2013 ฉันปิด Visual Studio ลบไดเรกทอรี \ bin และ \ obj ทั้งหมดและปัญหาก็หายไป


9

สำหรับฉันปัญหานี้ได้รับการแก้ไขเมื่อฉันยกเลิกการโหลดและโหลดโครงการอีกครั้ง ฉันทำงานให้ฉันหวังว่ามันจะเหมาะกับคุณเช่นกัน :)


7

ฉันรู้ว่ามันเก่า แต่เผื่อว่าจะมีคนเจอกระทู้นี้เหมือนที่ฉันทำจาก google ฉันมีปัญหานี้หลังจากแก้ไขข้อขัดแย้งบางอย่างจาก svn วิธีแก้ปัญหามีหลายโครงการในนั้นและฉันได้แก้ไขข้อขัดแย้งบางอย่างในโครงการที่แตกต่างกันสองสามโครงการ ฉันสร้าง -> Clean Solution ตามด้วย Build -> Rebuild Solution และทุกอย่างก็กลับมาดีอีกครั้ง


7

ฉันมีปัญหานี้และเกี่ยวข้องกับ ReSharper

ขั้นตอนการแก้ปัญหาสำหรับฉัน:

1) ปิดใช้งาน ReSharper

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

2) สร้างโซลูชัน

(Ctrl-Shift-B)

3) เปิดใช้งาน ReSharper อีกครั้ง

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

สตีฟ


ทำงานให้ฉัน ใช่. ReSharper คือปัญหา
Muhammad Saqib

6

คุณมีปลั๊กอินที่ติดตั้งเช่น resharper หรือไม่? ฉันมีปัญหาเกี่ยวกับปลั๊กอินที่ไม่ดี

ลองเรียกใช้ Visual Studio ในเซฟโหมดเพื่อป้องกันไม่ให้ปลั๊กอินทำงาน

devenv /Safemode

10
ฉันใช้ Resharper คุณสามารถปิดใช้งาน ReSharper ได้โดยใช้ปุ่ม Suspend ในเมนู Tools -> Options -> ReSharper จากนั้นดำเนินการต่อมันช่วยฉัน
Oleg Kyrylchuk

5

หากคุณใช้ Resharper เหมือนฉันคุณสามารถลบแคช resharper ตามลิงค์นี้: 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.

ปุ่ม 'ล้างแคช' บนสภาพแวดล้อม | หน้าทั่วไปของตัวเลือก ReSharper ช่วยแก้ปัญหาของฉัน ขอบคุณสำหรับคำแนะนำ!
nilsK

3

ใน vs2013 ฉันแก้ไขปัญหานี้โดยการลบโฟลเดอร์ obj / bin ทั้งหมดในทุกโปรเจ็กต์ ปัญหาอาจเกิดจากการกำหนดค่าโซลูชันที่ฉันได้ลบไป แต่ไม่ได้รับการทำความสะอาดอย่างถูกต้องเนื่องจากการทำ Build -> Clean Solution ไม่ได้ลบเอาต์พุตเก่าออกจากโฟลเดอร์ obj / bin


1

สิ่งที่ใช้ได้ผลสำหรับฉันคือการลบ IntelliSense indexfile

ไฟล์ IntelliSense อยู่ในไดเร็กทอรีเดียวกับโซลูชันของคุณ

ชื่อไฟล์คือ SolutionName.sdf

เพียงแค่ลบไฟล์นี้เปิดโซลูชันของคุณอีกครั้งจากนั้น IntelliSense จะเริ่มสร้างไฟล์ดัชนีใหม่ หลังจากนั้นปัญหาจะหมดไป


1

สิ่งนี้ใช้ได้ผลสำหรับฉันใน Visual Studio Enterprise 2017:

  1. ไปที่ Tools> Options> Text Editor> JavaSCript / TypeScript> Linting> General

  2. ยกเลิกการเลือก "เปิดใช้งาน ESLint"


1
หลังจากทำการวิจัยหลายวันยกเลิกการโหลด / โหลดโปรเจ็กต์และการลบโฟลเดอร์. vs จำนวนมากนี่คือสาเหตุของปัญหาของฉันดังนั้นฉันจึงถือว่านี่เป็นคำตอบที่ถูกต้อง ขอให้ใครบางคนอวยพรลูกชายของฉัน
Nandolcs

1

ฉันเจอปัญหานี้เช่นกันและสามารถคืน Visual Studio กลับสู่สถานะปกติได้โดยทำสิ่งต่อไปนี้ -

  1. ระบุโครงการว่ารหัสเส้นสีแดงมาจากไหน
  2. ลบโครงการเส้นสีแดงออกจากการอ้างอิงที่มีการใช้งาน (ProjectName \ References - คลิกขวาเพิ่มการอ้างอิงยกเลิกการเลือกโครงการเส้นสีแดง)
  3. สร้าง (คุณควรได้รับข้อผิดพลาดทันที)
  4. เพิ่มการอ้างอิงโครงการที่เพิ่งลบออกอีกครั้ง
  5. สร้างอีกครั้ง
  6. เส้นสีแดงควรถูกลบออกและควรสร้างโครงการ!

1

ฉันมีปัญหาเดียวกันกับเส้นสีแดงจำนวนมากในไฟล์ซอร์ส * cpp หลายไฟล์ แม้ว่าจะรวบรวมโค้ดได้อย่างสมบูรณ์แบบ ไม่มีวิธีแก้ปัญหาอื่นใดที่ใช้ได้ผลสำหรับฉัน

การเปลี่ยนลำดับ #include บรรทัดของไฟล์ * .cpp อาจทำให้เส้นสีแดงหายไปและ reapper ด้วยคำสั่งที่กู้คืน

จากนั้นฉันสังเกตเห็นไฟล์ส่วนหัวรวมสองครั้งในไฟล์ * .cpp ไฟล์เดียว ฉันลบอันที่สองออกและ - ทุกอย่างเรียบร้อยดี

การรวมไฟล์ส่วนหัวสองครั้งในไฟล์ * .cpp เดียวกันดูเหมือนจะไม่มีปัญหากับคอมไพเลอร์ แต่สำหรับส่วนที่เป็น intellisense


0

บางทีอาจจะสายที่จะเพิ่ม แต่หวังว่ามันอาจจะช่วยใครสักคนได้ ฉันมีปัญหาคล้ายกันเมื่อฉันเห็น squiggles สีแดงจำนวนมากในสองไฟล์ ฉันลองใช้คำตอบทั้งหมดที่เสนอข้างต้น แต่ดูเหมือนจะไม่ได้ผล ช่วงเวลาที่ฉันเริ่มเรียกดูชั้นเรียนโครงสร้างในไฟล์อื่น ๆ ที่ไฟล์ที่บ่นมีการอ้างอิงปัญหาก็หายไป ดูเหมือนว่า Intellisense ไม่สามารถแก้ไขการอ้างอิงได้ด้วยตัวเองด้วยเหตุผลบางประการ


3
ฉันไม่เห็นวิธีแก้ปัญหาในคำตอบของคุณ "ดูเหมือนว่า Intellisense ไม่สามารถแก้ไขการอ้างอิงได้ด้วยตัวมันเอง ... " - คุณกำลังพูดโดย"เรียกดูคลาสโครงสร้าง"คุณช่วย intellisense แก้ไขการอ้างอิงหรือไม่?
Sнаđошƒаӽ

4
@ Sнаđошƒаӽฉันคิดว่านั่นคือสิ่งที่เขาพูด
Robert Columbia

@RobertColumbia ไม่มีความผิดต่อ OP แต่ฉันคิดว่ามันไร้สาระ
Sнаđошƒаӽ

@ Sнаđошƒаӽดีนั่นคือสิ่งที่เขาพูด หากคุณคิดว่ากลยุทธ์นั้นไม่เป็นประโยชน์ให้ลงคะแนนคำตอบ
Robert Columbia

@ Sнаđошƒаӽดีฉันไปถึงโพสต์เพราะฉันก็ประสบปัญหาเดียวกัน ก่อนอื่นฉันลองใช้คำตอบทั้งหมดก่อนที่ฉันจะโพสต์สิ่งที่ได้ผลสำหรับฉันเช่นเดียวกับคนอื่น ๆ ก็มีคำตอบตามประสบการณ์ที่นั่น ไม่เห็นมีอะไรผิดปกติเลย แต่อาจช่วยคนอื่นได้เช่นกัน
irsis

0

สำหรับฉันฉันได้เปิดใช้งานการบันทึกฟิวชันในครั้งเดียวเพื่อแก้ไขข้อผิดพลาดในการพึ่งพาแอสเซมบลีบางอย่าง (fuslogvw จากพรอมต์ CMD) นั่นคือหลายเดือนที่แล้วและฉันพบว่าเวลาในการสร้างช้าลงมาก (5-7 นาที) ตั้งแต่นั้นมา ฉันก็ลืมไปเลยว่าฉันเปิดใช้งานมันทิ้งไว้ ท่อนไม้เหล่านี้เป็นคอขวดของฉันและการปิดใช้งานทำให้การทำซ้ำเร็วขึ้นมาก หวังว่านี่จะช่วยใครสักคน!


0

ฉันพบปัญหานี้กับ Visual Studio 2017 ล่าสุด
นอกจากนี้เวอร์ชันดีบักของโปรแกรมของฉันยังทำงานช้าอย่างเจ็บปวด

ฉันลบไฟล์โซลูชัน.slnและสร้างไฟล์ใหม่


0

ขั้นตอนที่ใช้งานได้

  1. เปิดโซลูชันและสร้างใหม่ทั้งหมด
  2. ปิดโซลูชัน
  3. เปิดโซลูชันและทำความสะอาด
  4. ปิดโซลูชัน
  5. เปิดโซลูชันและสร้างใหม่ทั้งหมด
  6. ปิดแล้วเปิดทางออกก็น่าจะดี สิ่งนี้ใช้ได้กับฉันทุกครั้ง

การลบไฟล์การตั้งค่าเหล่านี้อย่างระมัดระวังเนื่องจากคุณจะสูญเสียการตั้งค่าการดีบักที่บันทึกไว้เป็นต้นและอาจสร้างความเสียหายได้มากกว่าที่คุณคิด



0

ในกรณีของฉันกับ VS 2017 ฉันมี "เส้นสีแดง" จำนวนมากที่แสดงด้านล่างสัญลักษณ์ทั้งหมดที่กำหนดไว้ในไลบรารีของบุคคลที่สาม แต่โครงการของฉันสามารถสร้างได้โดยไม่มีปัญหา ฉันได้ลองวิธีแก้ไขปัญหาที่แนะนำทั้งหมดแล้ว (เช่นลบโฟลเดอร์. VS รีสตาร์ท VS ฯลฯ ) แต่ไม่มีวิธีใดที่ใช้งานได้

ในที่สุดฉันก็แก้ไขมันและนี่คือวิธี: ฉันเปิดหน้าคุณสมบัติของโปรเจ็กต์แอพของฉันจากนั้นไปที่ "C / C ++ -> ทั่วไป -> ไดเร็กทอรีรวมเพิ่มเติม" ซึ่งเป็นที่ที่ฉันใส่พา ธ ส่วนหัวไลบรารีของบุคคลที่สามที่จำเป็นทั้งหมด ฉันลบเส้นทางทั้งหมด (แต่บันทึกไว้ที่ไหนสักแห่ง) คลิก "ตกลง" เพื่อยืนยัน จากนั้นฉันก็กลับมาที่การตั้งค่าเดิมวางเส้นทางเหล่านั้นกลับคลิก "ตกลง" เพื่อยืนยันจากนั้น "เส้นสีแดง" ทั้งหมดจะหายไป


0

พบวิธีแก้ปัญหานี้:

  1. ปิด Visual Studio (ตรวจสอบให้แน่ใจว่าไม่มี devenv.exe อยู่ในตัวจัดการงาน)
  2. ลบไฟล์ %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\xx\ComponentModelCacheไดเร็กทอรี
  3. รีสตาร์ท Visual Studio

0

ฉันมีปัญหานี้มาหลายเดือนแล้วและในที่สุดก็แก้ไขได้แล้ว การปิด Visual Studio และการลบโฟลเดอร์. vs ที่อยู่ในไดเร็กทอรีโซลูชันไม่ทำงานสำหรับฉัน

มีแท็ก assemblyIdentity ใน web.config ซึ่งอ้างถึงไลบรารีสิ่งที่ไม่อยู่ในโฟลเดอร์การอ้างอิงของฉัน ฉันลบแท็กนี้ออกทำความสะอาดปิดและเปิดใหม่และปัญหาได้รับการแก้ไขแล้ว

  1. ตรวจสอบแต่ละแท็ก assemblyIdentity ใน web.config ของคุณและตรวจสอบกับโฟลเดอร์อ้างอิงใน solution explorer
  2. ลบแท็ก assemblyIdentity รวมถึงแท็ก dependAssembly หลักสำหรับแท็กที่ไม่อยู่ในโฟลเดอร์การอ้างอิงของคุณ
  3. น้ำยาทำความสะอาด
  4. ปิดและเปิดโซลูชันอีกครั้ง
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.