วิธีการหยุด Visual Studio ไม่ให้ตรวจสอบไฟล์โซลูชันเสมอ


152

เห็นได้ชัดว่าไม่มีเหตุผลทุกครั้งที่ฉันเปิดโซลูชัน Visual Studio จะตรวจสอบไฟล์ sln

ถ้าฉันเปรียบเทียบกับรุ่นก่อนหน้าไม่มีการเปลี่ยนแปลง แต่สิ่งนี้น่าผิดหวังจริง ๆ เพราะทุกคนมีวิธีแก้ไขปัญหา

ฉันใช้ VS 2008 และ TFS 2008 ทั้ง SP2

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


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

1
TFS รองรับการจ่ายเงินพร้อมกันและตราบใดที่ไม่มีการแก้ไขไฟล์. sln การชำระเงินหลายครั้งก็ไม่ใช่ปัญหา
Dirk Vollmar

5
เมื่อไฟล์ * .sln มีการเปลี่ยนแปลงที่เกิดขึ้นจริงพวกเขาเป็นฝันร้ายที่น่ากลัวที่จะผสานเพราะโครงการภายในได้รับรหัสประจำตัว แต่ไม่เฉพาะเจาะจง ฉันเป็นผู้สนับสนุนรายใหญ่สำหรับการชำระเงินที่เกิดขึ้นพร้อมกัน แต่ฉันเก็บไว้ * .sln ส่วนใหญ่ของเรา
ริชาร์ดเบิร์ก

3
นี่คือการแก้ไขใน VS2013 !!! ฉันเปิดโซลูชันเดียวกันในปี 2012 และตรวจสอบ. sln เปิดในปี 2013 และยังคงชัดเจน
felickz

2
ฉันได้เห็นสิ่งนี้เป็นครั้งคราวด้วยทุกเวอร์ชันที่กลับมาจาก Visual Studio 2010 และถึงเวอร์ชันใหม่ล่าสุด, Visual Studio 2015 อัปเดต 3 มันเกิดขึ้นประมาณครึ่งหนึ่งของเวลาที่ฉันเปิดโซลูชันและดูเหมือนว่าบ่อยครั้งกว่าสำหรับโซลูชัน กับหลายโครงการ
ฉีกØstergaard

คำตอบ:


121

สิ่งนี้จะเกิดขึ้นเมื่อสิ่งต่อไปนี้อยู่ในไฟล์. sln:

GlobalSection(ExtensibilityGlobals) = postSolution
    MyGlobalProperty = AnyValue
EndGlobalSection

ฉันพบว่า Enterprise Library เพิ่มหนึ่งในนี้ ฉันลบมันเช็คอินโซลูชันปิดแล้วเปิดใหม่อีกครั้งและไม่มีการเช็คเอาต์อัตโนมัติอีกต่อไป


21
ดูเหมือนว่าแพคเกจ Unity NuGet อาจทำสิ่งนี้กับไฟล์โซลูชันของฉันใน VS 2010 ฉันลบส่วนนี้ออกและปัญหาการชำระเงินอัตโนมัติของฉันได้รับการแก้ไข ขอบคุณเกรแฮม!
Dan Mork

14
สองเทคโนโลยีที่ฉันโปรดปราน - TFS และ EntLib - คู่หูคู่ไหน

1
ฉันมีส่วนดังกล่าว แต่ไม่ต้องการลบออกเนื่องจากมีข้อมูลที่ฉันต้องการเก็บไว้ - ตอนนี้คืออะไร MS ปิดปัญหานี้เป็น "ไม่ทำซ้ำ" - โง่? connect.microsoft.com/VisualStudio/feedback/details/573538/…
mattanja

ความคิดเห็นของ Dan เพิ่มข้อมูลที่จำเป็น - ไม่จำเป็นต้องลบหัวข้อทั้งหมดในโลก - ส่วนที่ดูเหมือนว่าจะถูกเพิ่มเข้ามาในแพ็คเกจ unity nuget
Jordan0

ยังคงเหมือนเดิมในปี 2555
BlackICE

6

จากหน่วยความจำหากคุณใช้เมนูเครื่องมือตัวเลือกและเลือกแผงควบคุมแหล่งที่มาสภาพแวดล้อมควรมีตัวเลือกไม่กี่ตัวเลือกสำหรับการกำหนดค่าวิธีการเชื่อมต่อ IDE กับการควบคุมเวอร์ชัน

ฉันคิดว่าบางตัวเลือกเหล่านี้ควบคุมการชำระเงินเมื่อเปิดพฤติกรรม


1
ใช่ ... พวกเขาอนุญาตให้คุณเช็คเอาต์โดยอัตโนมัติแจ้งจากเช็คเอาต์หรือไม่ทำอะไรเลย ... แต่ไม่มีอะไรที่ช่วยแก้ไขปัญหานี้ได้
บ้าง

คุณไม่สามารถเพียงแค่พูดว่า "ไม่ไม่ต้องตรวจสอบ" เมื่อมันแจ้งให้คุณ?
Scott Marlowe

ฉันหวังว่าฉันจะเป็นนักพัฒนาเพียงคนเดียวในทีม ... โชคไม่ดีที่ฉันไม่สามารถพึ่งพานักพัฒนาทั้งหมดที่ขยันหมั่นเพียร
CodeClimber

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

1
สำหรับผู้ที่ไม่มี "สภาพแวดล้อม" ในรายการตัวเลือกให้เปลี่ยนการเชื่อมต่อของคุณจาก "ท้องถิ่น" เป็น "เซิร์ฟเวอร์" (ที่มา: stackoverflow.com/questions/26843300/… )
VenerableAgents

5

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


3

แม้ว่าจะไม่ได้ป้องกันปัญหาในตอนแรกการใช้คำสั่ง "เลิกทำ Unchanged" ของทีมงานมืออาชีพอย่างอิสระจะทำให้แปลกใจที่ยกเลิกการแก้ไขที่รอดำเนินการหากไม่มีการเปลี่ยนแปลงใด ๆ


การเชื่อมโยงการปรับปรุงสำหรับเครื่องมือทีมมูลนิธิพลังงาน: marketplace.visualstudio.com/...
Jaider

3

อนุญาตให้เช็คเอาต์จากนั้นเปรียบเทียบไฟล์ทั้งสอง ถ้า VS เพิ่มบางอย่างเช่น

<Service Include="{B4F97281-0DBD-4835-9ED8-7DFB966E87FF}" />

คุณกำลังประสบปัญหาข้อบกพร่องของ VS พร้อมวิธีแก้ปัญหาใน VS2008 แต่ไม่ได้เชื่อมต่อกับ VS2005

ตรวจสอบลิงค์นี้สำหรับรายละเอียดเพิ่มเติม:


ไม่มีโครงการใดในโซลูชันที่มี XML นี้
CodeClimber

2

ไฟล์ Visual Studio Solution กำลังถูกเช็คเอาท์อย่างเงียบ ๆ ผ่านหนึ่งในโครงการของ Solution โดยใช้ Microsoft Enterprise Library - ฉันเชื่อว่านี่เป็นสิ่งที่เกี่ยวข้องกับ Enterprise Library Configuration Utility ซึ่งช่วยให้สามารถจัดการการกำหนดค่าของ Application Blocks ต่างๆ - http : //msdn.microsoft.com/en-us/library/ff649479.aspx

ดูข้อเสนอแนะนี้ Microsoft โพสต์: http://connect.microsoft.com/VisualStudio/feedback/details/737184/globalsection-extensibilityglobals-postsolution-checks-out-sln-file-on-open


ขอบคุณสำหรับลิงค์ไนเจลทุกทีมกำลังประสบปัญหานี้อยู่
Baldy

1

มันเป็นคุณสมบัติ / ข้อผิดพลาดของหนึ่งในระบบโปรเจ็กต์ที่กำลังโหลดอยู่ภายในโซลูชัน ลองลบโปรเจ็กต์ประเภทต่างๆ (C #, VB, C ++, เว็บไซต์, แอพเว็บ, การทดสอบหน่วย, Silverlight ... ) จนกระทั่งมันหายไป นั่นคือคำตอบของคุณ


0

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

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

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

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.