อาการ
คุณใช้ Visual Studio Ultimate 2013 rtm การเชื่อมต่อกับทีม Foundation Server (TFS) 2013 การอัพเด 4 สมมติว่า คุณเปิดแฟ้ม Visual C# หรือ Visual Basic ที่ก่อนหน้านี้ได้ถูกเปลี่ยนด้วยวิธีการดังต่อไปนี้:
-
เฉพาะกรณีที่ชื่อแฟ้มมีการเปลี่ยนแปลง เช่น Filename.cs และ filename.cs
-
แฟ้มถูกเปลี่ยนชื่อในช่วง 12 เดือนที่ผ่านมา นี่คือค่าเริ่มต้นรอบระยะเวลาสำหรับการทำดัชนีประวัติการเปลี่ยนแปลง ดูคำสั่ง CodeIndex (การตั้งค่า indexHistoryPeriod)
ในสถานการณ์นี้ คุณได้รับข้อยกเว้นที่ StackOverflowException ที่เกิดขึ้นในMicrosoft.TeamFoundation.CodeSense.Server.WebAPI.CodeLensFileSummariesControllerBase.ReadFileSummariesแล้ว ความเสียหายที่เกิดขึ้นใน IIS ของผู้ปฏิบัติงานกระบวนการ "w3wp" ของ TFS
หมายเหตุ ปัญหานี้มีผลกระทบต่อการดำเนินการปัจจุบันทั้งหมดกับ TFS อย่างไรก็ตาม กระบวนการของผู้ปฏิบัติงาน IIS "w3wp" จะรีสตาร์ทโดยอัตโนมัติ และดำเนินการอื่น ๆ ทั้งหมดจะทำงานได้อย่างถูกต้องถ้าจะรีสตาร์ท ถ้าคุณพยายามเชื่อมต่อใหม่ Visual Studio Ultimate rtm การ TFS ซึ่งทำให้เกิดข้อยกเว้น StackOverflowException อื่นและความเสียหาย
สาเหตุ
ปัญหานี้เกิดขึ้นเนื่องจาก เมื่อคุณเปิดแฟ้มโค้ดใน Visual Studio, Visual Studio ขอ TFS CodeLens ข้อมูล คอมโพเนนต์ CodeLens ใน TFS ทำให้เกิดข้อยกเว้นที่ StackOverflowException และเป็นสาเหตุของปัญหาของกระบวนการของผู้ปฏิบัติงาน IIS "w3wp" ใน TFS ไม่ Visual Studio แล้ว
การแก้ปัญหา
เมื่อต้องการแก้ไขปัญหานี้ ใช้ Visual Studio 2013 การอัพเด 2 หรือการปรับปรุงภายหลังจากดาวน์โหลด Visual Studio
คุณยังสามารถอัพเกรด TFS กับทีม Foundation Server 2013 การอัพเด 5 หรือทีม Foundation Server 2015 rtm, จึงพร้อมใช้งานจากVisual Studio ดาวน์โหลด
วิธีแก้ปัญหา
เมื่อต้องการหลีกเลี่ยงปัญหานี้ ปิด CodeLens ใน Visual Studio Ultimate 2013 rtm ไปที่เครื่องมือ>ตัวเลือก>แก้ไขข้อความ>ทุกภาษา> CodeLens
หมายเหตุ ถ้าไม่ทำงานตัวเลือกในส่วนการแก้ปัญหาและวิธีแก้ปัญหา คุณสามารถปิด CodeLens ใน TFS โดยใช้คำสั่ง CodeIndex ด้วยคำสั่ง TFSConfig นี่คือตัวเลือกที่น้อยที่สุดที่ต้องการ
ข้อมูลเพิ่มเติม
เพื่อช่วยให้เราทำให้ดีที่สุดสำหรับคุณ CodeLens ส่งคำติชม หรือร้องขอคุณลักษณะที่Visual Studio UserVoiceหรือถามคำถามในฟอรั่ม MSDN
สถานะ
Microsoft ยืนยันว่านี่เป็นปัญหาในผลิตภัณฑ์ของ Microsoft ซึ่งแสดงไว้ในส่วน "นำไปใช้กับ"