แก้ไขไฟล์. sln ด้วยตนเอง
วิธีนี้มีวัตถุประสงค์ทั้งหมดเพื่อเปลี่ยนชื่อไดเรกทอรีสำหรับโครงการตามที่ดูใน Windows Explorer
วิธีนี้ไม่ประสบปัญหาในวิธีการลบ / เพิ่มโครงการไฟล์ด้านล่าง (การอ้างอิงหายไป) แต่อาจทำให้เกิดปัญหาได้หากโครงการของคุณอยู่ภายใต้การควบคุมแหล่งที่มา (ดูหมายเหตุด้านล่าง) นี่คือเหตุผลที่ขั้นตอนที่ 2 (สำรองข้อมูล) มีความสำคัญมาก
- ปิด Visual Studio
- สร้างสำเนาสำรองของไฟล์. sln ของคุณ (คุณสามารถย้อนกลับได้ตลอดเวลา)
- ลองนึกภาพคุณต้องการเปลี่ยนชื่อไดเรกทอรีไป
Project1
Project2
- หากไม่ได้ใช้ตัวควบคุมแหล่งข้อมูลให้เปลี่ยนชื่อโฟลเดอร์
Project1
เป็นเป็นProject2
โดยใช้ Windows Explorer
- หากใช้การควบคุมแหล่งข้อมูลให้เปลี่ยนชื่อโฟลเดอร์
Project1
เป็นProject2
ใช้ฟังก์ชั่นที่ได้รับจากตัวควบคุมแหล่งข้อมูล สิ่งนี้จะเก็บประวัติของไฟล์ ตัวอย่างเช่นกับคลิกขวาที่ไฟล์เลือกTortoiseSVN
TortoiseSVN .. Rename
- ในแฟ้ม .sln แก้ไขทุกกรณี
Project1
ที่จะProject2
ใช้แก้ไขข้อความเช่นNotePad
- เริ่ม Visual Studio ใหม่และทุกอย่างจะทำงานเหมือน แต่ก่อนในโครงการในไดเรกทอรีอื่น
นอกจากนี้คุณยังสามารถดูวิธีการแก้ปัญหาการเปลี่ยนชื่อด้วยตนเองหรือโพสต์ซึ่งอธิบายขั้นตอนในคู่มือนี้
ข้อดี
- คุณสามารถสร้างไดเรกทอรีภายใน Windows Explorer ให้ตรงกับชื่อโครงการภายในโซลูชัน
- วิธีนี้ไม่ได้ลบการอ้างอิงใด ๆ จากโครงการอื่น ๆ ไปยังไฟล์นี้ (ประโยชน์จากวิธีการลบ / เพิ่มไฟล์โครงการดูคำตอบอื่น ๆ ของฉันด้านล่าง)
คำเตือน
- สิ่งสำคัญคือคุณต้องสำรองข้อมูลทุกอย่างเป็นไฟล์. zip ก่อนที่จะเปลี่ยนชื่ออะไรเนื่องจากวิธีนี้สามารถสร้างปัญหาด้วยการควบคุมแหล่งที่มา
- หากโครงการของคุณอยู่ภายใต้การควบคุมของแหล่งข้อมูลอาจสร้างปัญหาได้หากคุณเปลี่ยนชื่อไฟล์หรือไดเรกทอรีนอกแหล่งควบคุม (โดยใช้ Windows Explorer) การเปลี่ยนชื่อไฟล์โดยใช้เฟรมเวิร์กการควบคุมซอร์สนั้นทำได้เองหากคุณทำได้เพื่อรักษาประวัติของไฟล์นั้น (ลองดูเมนูบริบทด้วยการคลิกขวา - อาจมีฟังก์ชั่นสำหรับเปลี่ยนชื่อไฟล์)
อัปเดต 2014-11-02
ReSharper ได้เพิ่มวิธีการอัตโนมัติเพื่อให้ได้ผลลัพธ์เช่นเดียวกับวิธีการด้วยตนเองข้างต้น หากเนมสเปซถูกขีดเส้นใต้ด้วยเส้นสีฟ้า squiggly คลิกที่ไอคอนการกระทำปิรามิดเพื่อ:
- เปลี่ยนชื่อ namespace เพื่อให้ตรงกับชื่อไดเรกทอรีใน Windows Explorer หรือ;
- เปลี่ยนชื่อไดเรกทอรีใน Windows Explorer เพื่อให้ตรงกับ namespace
ในกรณีที่สองคำสุดท้ายกำหนดชื่อไดเรกทอรีใหม่ใน Windows Explorer เช่นถ้าเราเปลี่ยน namespace ไปก็จะนำเสนอให้ย้ายไฟล์ไปยังโฟลเดอร์ViewModel2
ViewModel2
อย่างไรก็ตามการทำเช่นนี้จะไม่จำเป็นต้องทำการอัพเดทไฟล์ในแหล่งควบคุมดังนั้นคุณอาจต้องใช้วิธีการด้วยตนเอง
อัปเดต 2018-01-31
ทดสอบกับ Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 อัปเดต 1, 2, 3, 4, 5
อัปเดต 2020-05-02
ทดสอบกับ Visual Studio 2019