วิธีที่เหมาะสมในการเปลี่ยนชื่อโซลูชัน (และไดเรกทอรี) ใน Visual Studio


415

ฉันมีวิธีแก้ปัญหาเกี่ยวกับ Visual Studio (2010 แต่ไม่ควรสำคัญ) ที่ฉันต้องเปลี่ยนชื่อ

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

มีวิธีอย่างเป็นทางการที่จะทำเช่นนี้? อีกทางเลือกหนึ่ง (และดีกว่าน้อยกว่า) มีเครื่องมือฟรีให้ทำสิ่งนี้หรือไม่?



13
สิ่งนี้ซ้ำกันอย่างไร เขาขอเปลี่ยนชื่อโซลูชันไม่ใช่โครงการ!
ไวกิ้ง

คำตอบ:


375

แก้ไขไฟล์. sln ด้วยตนเอง

วิธีนี้มีวัตถุประสงค์ทั้งหมดเพื่อเปลี่ยนชื่อไดเรกทอรีสำหรับโครงการตามที่ดูใน Windows Explorer

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

  1. ปิด Visual Studio
  2. สร้างสำเนาสำรองของไฟล์. sln ของคุณ (คุณสามารถย้อนกลับได้ตลอดเวลา)
  3. ลองนึกภาพคุณต้องการเปลี่ยนชื่อไดเรกทอรีไปProject1Project2
  4. หากไม่ได้ใช้ตัวควบคุมแหล่งข้อมูลให้เปลี่ยนชื่อโฟลเดอร์Project1เป็นเป็นProject2โดยใช้ Windows Explorer
  5. หากใช้การควบคุมแหล่งข้อมูลให้เปลี่ยนชื่อโฟลเดอร์Project1เป็นProject2ใช้ฟังก์ชั่นที่ได้รับจากตัวควบคุมแหล่งข้อมูล สิ่งนี้จะเก็บประวัติของไฟล์ ตัวอย่างเช่นกับคลิกขวาที่ไฟล์เลือกTortoiseSVNTortoiseSVN .. Rename
  6. ในแฟ้ม .sln แก้ไขทุกกรณีProject1ที่จะProject2ใช้แก้ไขข้อความเช่นNotePad
  7. เริ่ม Visual Studio ใหม่และทุกอย่างจะทำงานเหมือน แต่ก่อนในโครงการในไดเรกทอรีอื่น

นอกจากนี้คุณยังสามารถดูวิธีการแก้ปัญหาการเปลี่ยนชื่อด้วยตนเองหรือโพสต์ซึ่งอธิบายขั้นตอนในคู่มือนี้

ข้อดี

  • คุณสามารถสร้างไดเรกทอรีภายใน Windows Explorer ให้ตรงกับชื่อโครงการภายในโซลูชัน
  • วิธีนี้ไม่ได้ลบการอ้างอิงใด ๆ จากโครงการอื่น ๆ ไปยังไฟล์นี้ (ประโยชน์จากวิธีการลบ / เพิ่มไฟล์โครงการดูคำตอบอื่น ๆ ของฉันด้านล่าง)

คำเตือน

  • สิ่งสำคัญคือคุณต้องสำรองข้อมูลทุกอย่างเป็นไฟล์. zip ก่อนที่จะเปลี่ยนชื่ออะไรเนื่องจากวิธีนี้สามารถสร้างปัญหาด้วยการควบคุมแหล่งที่มา
  • หากโครงการของคุณอยู่ภายใต้การควบคุมของแหล่งข้อมูลอาจสร้างปัญหาได้หากคุณเปลี่ยนชื่อไฟล์หรือไดเรกทอรีนอกแหล่งควบคุม (โดยใช้ Windows Explorer) การเปลี่ยนชื่อไฟล์โดยใช้เฟรมเวิร์กการควบคุมซอร์สนั้นทำได้เองหากคุณทำได้เพื่อรักษาประวัติของไฟล์นั้น (ลองดูเมนูบริบทด้วยการคลิกขวา - อาจมีฟังก์ชั่นสำหรับเปลี่ยนชื่อไฟล์)

อัปเดต 2014-11-02

ReSharper ได้เพิ่มวิธีการอัตโนมัติเพื่อให้ได้ผลลัพธ์เช่นเดียวกับวิธีการด้วยตนเองข้างต้น หากเนมสเปซถูกขีดเส้นใต้ด้วยเส้นสีฟ้า squiggly คลิกที่ไอคอนการกระทำปิรามิดเพื่อ:

  • เปลี่ยนชื่อ namespace เพื่อให้ตรงกับชื่อไดเรกทอรีใน Windows Explorer หรือ;
  • เปลี่ยนชื่อไดเรกทอรีใน Windows Explorer เพื่อให้ตรงกับ namespace

ในกรณีที่สองคำสุดท้ายกำหนดชื่อไดเรกทอรีใหม่ใน Windows Explorer เช่นถ้าเราเปลี่ยน namespace ไปก็จะนำเสนอให้ย้ายไฟล์ไปยังโฟลเดอร์ViewModel2ViewModel2

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

ป้อนคำอธิบายรูปภาพที่นี่

อัปเดต 2018-01-31

ทดสอบกับ Visual Studio 2008, 2010, 2012, 2013, 2015, 2017 อัปเดต 1, 2, 3, 4, 5

อัปเดต 2020-05-02

ทดสอบกับ Visual Studio 2019


2
หมายเหตุ: แม้จะมี VS2012 ก็จำเป็นต้องเริ่มต้นใหม่เพราะอาจทำให้สับสนและคุณได้รับข้อผิดพลาดที่โง่
Simon_Weaver

1
"หากคุณมีการควบคุมแหล่งข้อมูลคุณจะสูญเสียประวัติของไฟล์" นี่เป็นข้อเสียที่สำคัญสำหรับเรา (การตรวจสอบและอื่น ๆ ) มีเส้นทางที่แนะนำในขณะที่รักษาประวัติหรือไม่
dougajmcdonald

23
Visual Studio นั้นเป็นโปรแกรมที่ทรงพลัง แต่ฟีเจอร์นี้ไม่รวมอยู่ด้วย? ว้าว ..
Luca Steeb

2
แม้หลังจากทำตามวิธีแก้ปัญหาที่อธิบายโดย @Contango ฉันยังคงได้รับและเกิดข้อผิดพลาด: คุณลักษณะ OwinStartup ที่ค้นพบในชุดประกอบ ... ชื่อใหม่เริ่มต้นซึ่งขัดแย้งกับชื่อเก่า ฉันไปที่โฟลเดอร์ obj และ bin และลบไฟล์ใด ๆ ที่มีชื่อเก่าทิ้งทุกอย่างไว้เหมือนเดิม เริ่มต้นใหม่กับโปรเจ็กต์ที่เพิ่งตั้งชื่อใหม่และมันก็วิ่งได้อย่างมีเสน่ห์! ขอบคุณ!
nocturns2

2
@ LucaSteeb Yup รายงานว่าในปี 2555 มีรหัส 50 ล้านบรรทัด #monolithic
Chiramisu

158

นี่คือขั้นตอนที่คุณต้องทำตามเพื่อเปลี่ยนชื่อโซลูชัน:

  1. ในโซลูชัน Explorer คลิกขวาที่โครงการเลือกเปลี่ยนชื่อและป้อนชื่อใหม่
  2. ในโซลูชัน Explorer คลิกขวาที่โครงการและเลือกคุณสมบัติ บนแท็บแอปพลิเคชันเปลี่ยน "Assembly name" และ "Default namespace"
  3. ในไฟล์ cs หลัก (หรือไฟล์รหัสอื่น ๆ ) เปลี่ยนชื่อการประกาศ namespace เพื่อใช้ชื่อใหม่ สำหรับคลิกขวาที่เนมสเปซและเลือก Refactor> เปลี่ยนชื่อป้อนชื่อใหม่ ตัวอย่างเช่น: namespace WindowsFormsApplication1
  4. เปลี่ยน AssemblyTitle และ AssemblyProduct ใน Properties / AssemblyInfo.cs

    [assembly: AssemblyTitle("New Name Here")]
    [assembly: AssemblyDescription("")]
    [assembly: AssemblyConfiguration("")]
    [assembly: AssemblyCompany("")]
    [assembly: AssemblyProduct("New Name Here")]
    [assembly: AssemblyCopyright("Copyright ©  2013")]
    [assembly: AssemblyTrademark("")]
    [assembly: AssemblyCulture("")]
    
  5. ลบไดเร็กทอรี bin และ obj

  6. เปลี่ยนชื่อไดเรกทอรีโฟลเดอร์ทางกายภาพของโครงการ

  7. เปิดไฟล์ SLN (ภายในแผ่นจดบันทึกหรือตัวแก้ไขใด ๆ ) และเปลี่ยนเส้นทางไปยังโครงการ

  8. ทำความสะอาดและสร้างโครงการใหม่


1
มันใช้งานได้อย่างสมบูรณ์แบบ! แต่คุณต้องจัดการDatasetด้วยตนเอง (ถ้าคุณแนบกับโครงการของคุณ)
Sujith HS

2
Works! ฉันต้องเปลี่ยนชื่อไฟล์. sln และ. suo ด้วย และฉันพบว่าขั้นตอนที่ 4 นั้นประสบความสำเร็จโดยหนึ่งในขั้นตอนก่อนหน้าใน VS 2010 ของฉัน
แพทช์

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

1
สิ่งนี้ใช้ได้สำหรับฉันด้วย (ใช้ VS2013) แต่มันพลาดเส้นทางของโปรเจ็กต์ใน \Packages\repositories.configไฟล์
Ted

1
ก่อนที่จะพยายามเปิดโซลูชันอีกครั้งฉันใช้เครื่องมือค้นหา Agent Ransack เพื่อค้นหาไฟล์และโฟลเดอร์ทั้งหมดสำหรับการอ้างอิงถึงชื่อโซลูชัน / โครงการก่อนหน้าและแก้ไขให้ถูกต้อง มีหลายที่ที่ฉันต้องทำ
Andy G

31

การดำเนินการเปลี่ยนชื่อใน Visual Studio เท่านั้นเปลี่ยนชื่อไฟล์เช่นสำหรับโครงการ * .prj และสำหรับวิธีแก้ไข * .sln คุณจะต้องเปลี่ยนชื่อโฟลเดอร์แยกต่างหากโดยใช้ระบบไฟล์และคุณจะต้องลบและอ่านโครงการเนื่องจากจะมีชื่อโฟลเดอร์ใหม่ อย่างไรก็ตามโปรดทราบว่าไฟล์โซลูชันและโครงการเป็นไฟล์ texst และ xml ตามลำดับ คุณสามารถเขียนโปรแกรมของคุณเองที่แยกวิเคราะห์และเปลี่ยนชื่อทั้งชื่อโฟลเดอร์ชื่อไฟล์และแก้ไขไฟล์โครงการ / โซลูชันภายใน


1
มีเครื่องมือฟรีให้ทำเช่นนี้อยู่แล้วหรือไม่? ฉันหาอะไรไม่เจอ
David Pfeffer

5
สิ่งเดียวที่อาจช่วยคุณได้คือ CoolCommands 4.0 "เพิ่มโครงการจากโฟลเดอร์" ดังนั้นหลังจากคุณลบ / เปลี่ยนชื่อโฟลเดอร์โครงการแล้วคุณสามารถเพิ่มกลับได้ในครั้งเดียว: sharptoolbox.com/tools/coolcommands
AaronLS

1
ข้อความประเสริฐ 2 มีการค้นหา regex และแทนที่ฟังก์ชันที่ทำให้ง่ายต่อการจัดการกับสิ่งนี้
jfyelle

22

คุณยังสามารถส่งออกแม่แบบจากนั้นสร้างโครงการใหม่จากแม่แบบส่งออกที่เปลี่ยนชื่อตามที่คุณต้องการ


1
สิ่งนี้ใช้ได้สำหรับฉันเช่นกัน ฉันต้องทำการปรับเปลี่ยนครั้งเดียว ฉันใช้เฟรมเวิร์กเอนทิตีในเว็บแอปพลิเคชันและทิ้งไฟล์. dll เก่าภายใต้ชื่อโครงการดั้งเดิมดังนั้นฉันจึงต้องค้นหาสาเหตุที่ฉันได้รับข้อผิดพลาดซ้ำซ้อนบางอย่างสำหรับคลาสตาราง เมื่อฉันลบสิ่งเหล่านั้นออกจากโครงการมันก็ใช้ได้ดี หวังว่านี่จะช่วยได้ และขอบคุณ Edoardo!
Steve

2
นี่เป็นวิธีที่ดีที่สุดในการทำเช่นนั้นโปรดดูmsdn.microsoft.com/en-us/library/เพื่อดูตำแหน่งที่จะย้ายเทมเพลตที่ส่งออกของคุณเพื่อค้นหาในกล่องโต้ตอบ "โครงการใหม่"
Ares Ou

13

ด้านล่างเป็นวิธีการเปลี่ยนชื่อโซลูชันของคุณแบบทีละขั้นตอนใน Visual Studio 2013

สมมติว่าเรากำลังเปลี่ยนโครงการชื่อ "HelloWorld.ui" เป็น "Section1to5.ui"

  1. ไปที่โซลูชัน Explorer (ภาพด้านล่าง) คลิกขวาที่โครงการที่คุณต้องการเปลี่ยนชื่อและเลือก "เปลี่ยนชื่อ" ป้อนชื่อใหม่ที่คุณต้องการ

ภาพหน้าจอของ Explorer โซลูชัน

  1. คลิกขวาที่โครงการที่คุณเพิ่งเปลี่ยนชื่อและคลิกที่ "คุณสมบัติ" ภายใต้แท็บแอปพลิเคชันเปลี่ยน "Assembly name" และ "Default namespace"

  2. ในไฟล์ Program.cs หลัก (หรือไฟล์รหัสอื่น ๆ ที่คุณอาจสร้างขึ้น) ให้เปลี่ยนชื่อการประกาศเนมสเปซเพื่อใช้ชื่อใหม่ สำหรับคลิกขวาที่เนมสเปซและเลือก Refactor> เปลี่ยนชื่อป้อนชื่อใหม่ ตัวอย่างเช่น:

    namespace HelloWorld.ui ----> เนมสเปซ Section1to5.ui

  3. ถัดไปขยาย "Properties" และดับเบิลคลิกที่ไฟล์ AssemblyInfo.cs คุณจะสังเกตเห็นส่วนของโค้ดด้านล่าง:

[assembly: AssemblyTitle("HelloWorld.ui")]
[assembly: AssemblyDescription("")]
[assembly: AssemblyConfiguration("")]
[assembly: AssemblyCompany("Microsoft")]
[assembly: AssemblyProduct("HelloWorld.ui")]
[assembly: AssemblyCopyright("Copyright © Microsoft 2015")]
[assembly: AssemblyTrademark("")]
[assembly: AssemblyCulture("")]

คุณต้องเปลี่ยน AssemblyTitle และ AssemblyProduct ใน Properties / AssemblyInfo.cs เป็นชื่อใหม่ในตัวอย่างนี้จาก "HelloWorld.ui" เป็น "Section1to5.ui" เมื่อคุณเปลี่ยนชื่อเสร็จแล้วให้บันทึกและปิด Visual Studio

  1. ในไดเรกทอรีโครงการให้เข้าไปในโฟลเดอร์ "HelloWorld.ui" และลบไดเรกทอรี "bin" และ "obj"

  2. เมื่อเสร็จแล้วให้เปลี่ยนชื่อโฟลเดอร์ "HelloWorld.ui" เป็นชื่อโครงการใหม่

  3. เปิดไฟล์โซลูชันที่ถูกเปลี่ยนชื่อด้วยโปรแกรมแก้ไขข้อความเช่น Notepad หรือ Notepad ++ และแก้ไขบรรทัดต่อไปนี้:

    โครงการ ("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "HelloWorld.ui", "HelloWorld.ui \ HelloWorld.ui.csproj", "{39FC65A3-3AE7-4EC9-B8F7-74F971636C70}"

แทนที่อินสแตนซ์ทั้งหมดของ "HelloWorld.ui" เป็นชื่อใหม่ที่คุณเลือกสำหรับโครงการของคุณในกรณีนี้ "Section1to5.ui" สิ่งนี้จะเปลี่ยนเส้นทางของโครงการเป็นไดเรกทอรีที่ถูกเปลี่ยนชื่อในขั้นตอนที่ 6

  1. เปิดไฟล์โซลูชันด้วย visual studio และทำความสะอาดและสร้างโครงการใหม่

  2. คุณอาจสังเกตเห็นว่าปุ่ม "Debug / Run" ถูกแทนที่ด้วยปุ่ม "Attach" ในกรณีนี้ให้คลิกขวาที่โครงการและเลือกตัวเลือก "Set as StartUp project" หรือคลิกที่เครื่องมือ> ปรับแต่ง> คำสั่ง> เพิ่มคำสั่ง> แก้ไขข้อบกพร่องและเพิ่มปุ่ม

คุณเปลี่ยนชื่อโครงการแล้วหากคุณมีข้อสงสัยสามารถโพสต์ได้และฉันยินดีที่จะช่วยเหลือ!


6

ลบโฟลเดอร์ย่อย bin และ obj ของคุณเพื่อลบการอ้างอิงที่ไม่ถูกต้องจากนั้นใช้ windows เพื่อค้นหาชื่อเก่า

แก้ไขไฟล์รหัสหรือไฟล์ xml ที่พบและสร้างใหม่ควรเป็นตอนนี้


5

ฉันใช้ส่วนขยาย Visual Studio "Full Rename Project" เพื่อเปลี่ยนชื่อโครงการในโซลูชัน ASP.NET Core 2 ให้สำเร็จ

ฉันใช้ ReSharper แล้วปรับ namespace (คลิกขวาที่โครงการ refactor ปรับ namespaces ... )

https://github.com/kuanysh-nabiyev/RenameProjectVsExtension

ป้อนคำอธิบายรูปภาพที่นี่


ดูเหมือนว่ามันจะถูกย้ายที่นี่: github.com/kuanysh-nabiyev/RenameProjectVsExtension
ToastedSoul


4

ฉันลอง Visual Renamer Project Visual แต่มันมีข้อยกเว้นในบางกรณีที่ฉันลอง

ฉันประสบความสำเร็จกับCopyWiz CopyWiz

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


4

ลบ / เพิ่มวิธีการไฟล์โครงการ

วิธีนี้มีวัตถุประสงค์ทั้งหมดเพื่อเปลี่ยนชื่อไดเรกทอรีสำหรับโครงการตามที่ดูใน Windows Explorer

  1. สำรองข้อมูลโครงการทั้งหมดของคุณโดยใช้ GIT, SVN หรือ WinZip (สำคัญ!)
  2. ภายในโซลูชันใน Visual Studio ให้ลบโครงการ
  3. เปลี่ยนชื่อไดเรกทอรีใน Windows Explorer
  4. เพิ่มโครงการกลับมาอีกครั้งภายใน Visual Studio

ข้อดี

  • คุณสามารถสร้างไดเรกทอรีภายใน Windows Explorer ให้ตรงกับชื่อโครงการภายในโซลูชัน

ข้อเสีย

  • หากคุณลบห้องสมุดมันจะลบการอ้างอิงใด ๆ ไปยังไลบรารีดังกล่าวจากโครงการอื่น ๆ วิธีแก้ปัญหาอาจไม่ได้รวบรวมหลังจากนี้จนกว่าคุณจะเพิ่มการอ้างอิงไปยังห้องสมุดดังกล่าวกลับมา (นี้ค่อนข้างง่าย) นี่คือเหตุผลที่ขั้นตอนที่ 1 (สำรอง) มีความสำคัญมาก
  • หากคุณมีการควบคุมแหล่งที่มาคุณจะสูญเสียประวัติของไฟล์

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


4
WinZip ??? ฉันหวังว่าคุณจะใช้การควบคุมแหล่งที่มาจริงและไม่ทำการสำรองข้อมูลไฟล์ zip ของรหัสของคุณ หากคุณหรือใครก็ตามที่กำลังอ่านข้อความนี้อยู่โปรดลองtry.github.ioและลองทำโปรเจ็กต์ทดสอบ คุณจะไม่กลับไป!
Matt Klein

2
ฉันอ่านความคิดเห็นของคุณมิสเตอร์ @MattKlein และคุณพูดถูก: D ขอบคุณ!
Jeancarlo Fontalvo

@Matt Klein เห็นด้วยทั้งหมดอัปเดตเพื่อแนะนำ GIT หรือ SVN เช่นกัน
Contango

3

คุณสามารถ:

  1. คลิกไฟล์ -> ใหม่ -> สร้างโครงการจากโครงการที่มีอยู่

  2. เลือกไฟล์ต้นฉบับของคุณเช่น โซลูชันที่ 1 และป้อนโซลูชันชื่อไฟล์ใหม่ 2

  3. เปลี่ยนชื่อโครงการในโซลูชันใหม่ 2


ฉันชอบวิธีนี้มากหรือน้อยลงด้วยเหตุผลบางประการ?
Coops

ล็อคเครื่องของฉันใกล้ถึงจุดสิ้นสุด - ใน Visual Studio 2017
klewis

3

หากคุณมีปัญหากับการโหลดโปรเจ็กต์ที่แชร์เช่น Xamarin อย่าลืมเปลี่ยนการอ้างอิงถึง libs ที่แชร์ในไฟล์ csproj ฉันพัฒนาเกม CocosSharp และโครงการ Droid / iOS / WP81 ไม่ต้องการโหลด ฉันต้องเปลี่ยนบรรทัดด้านล่างในทุกไฟล์ csproj (Driod / iOS / WP81) ซึ่งอ้างอิง lib ที่ใช้ร่วมกัน เกิดจากการเปลี่ยนแปลงชื่อโฟลเดอร์ดังนั้นให้แทนที่ YOUR_PREVIOUS_NAMESPACE ด้วยชื่อโฟลเดอร์ใหม่ของคุณ

<Import Project="..\YOUR_PREVIOUS_NAMESPACE.Shared\EmptyProject.Shared.projitems" Label="Shared" />

นอกจากนี้ฉันสังเกตเห็นว่าสำหรับโครงการ. Driod ชื่อแอสเซมบลีในคุณสมบัติของโครงการไม่สามารถเปลี่ยนได้โดยใช้ visual studio (ฉันใช้ปี 2015) ฉันต้องเปลี่ยนชื่อชุดประกอบด้วยตนเองในไฟล์. Droid.csproj

<AssemblyName>YourNameSpace</AssemblyName>

จากนั้นฉันโหลดโซลูชันและในคุณสมบัติของโครงการดูชื่อใหม่ปรากฏ หลังจากสร้าง dll ชื่อนั้นขึ้นใหม่


2

หากคุณกำลังสร้างเว็บไซต์ใน Visual Studio 2010 คุณสามารถเปลี่ยนชื่อโครงการได้ดังนี้

ขั้นตอนที่ 1: ใน Visual Studio 2010 ไฟล์ SLN จะถูกเก็บไว้ในโฟลเดอร์โครงการภายใน Visual Studio 2010 และไฟล์ต้นฉบับจะถูกเก็บไว้ภายใต้โฟลเดอร์เว็บไซต์ภายใน Visual Studio 2010

ขั้นตอนที่ 2: เปลี่ยนชื่อโฟลเดอร์โดยคลิกขวาที่โฟลเดอร์ไปข้างหน้าโดยเปลี่ยนชื่อซึ่งมีโครงการ SLN ของคุณ

ขั้นตอนที่ 3: เปลี่ยนชื่อไฟล์ SLN โดยคลิกขวาที่ไฟล์ SLN ข้างหน้าโดย Rename

ขั้นตอนที่ 4: เปลี่ยนชื่อโฟลเดอร์ที่มีแหล่งที่มาของไฟล์ SLN นั้นภายใต้เว็บไซต์ใน Visual Studio 2010

ขั้นตอนที่ 5: จากนั้นดับเบิลคลิกที่ไฟล์ SLN ของคุณและเปลี่ยนรูทของโฟลเดอร์ซอร์ส SLN ของคุณ


2

ทางออกเดียวที่ใช้ได้กับฉันใน Visual Studio 2013 ในโครงการ WEB:

ให้บอกว่าฉันต้องการเปลี่ยนชื่อ "project1" เป็น "project2" ให้บอกเส้นทางทางกายภาพไปยังไฟล์. sln ของฉันคือ: c: \ my \ path \ project1 \ project1.sln

ดังนั้นพา ธ ไปยังไฟล์. csproj ของฉันรวมถึงโฟลเดอร์ bin และ obj ควรเป็น: c: \ my \ path \ project1 \ project1 \

  1. เปิดโซลูชันใน VS โดยดับเบิลคลิกที่ไฟล์ project1.sln

  2. ในโซลูชัน Explorer คลิกขวาที่โครงการ (ไม่ใช่โซลูชัน !!!) เลือกเปลี่ยนชื่อและป้อนชื่อใหม่

  3. ในโซลูชัน Explorer คลิกขวาที่โครงการและเลือกคุณสมบัติ บนแท็บแอปพลิเคชันเปลี่ยน "Assembly name" และ "Default namespace"

  4. ในไฟล์ CS หลัก (หรือไฟล์รหัสอื่น ๆ เช่น Global.asax เป็นต้น) ให้เปลี่ยนชื่อการประกาศเนมสเปซเพื่อใช้ชื่อใหม่ สำหรับคลิกขวาที่เนมสเปซและเลือก Refactor> เปลี่ยนชื่อป้อนชื่อใหม่ ตัวอย่างเช่น:

โครงการเนมสเปซ 1

4.1 ในโซลูชัน Explorer คลิกขวาที่โครงการ (ไม่ใช่โซลูชัน !!!) เลือกเปลี่ยนชื่อและป้อนชื่อใหม่

  1. ตรวจสอบให้แน่ใจ: AssemblyTitle และ AssemblyProduct ใน Properties / AssemblyInfo.cs ถูกตั้งค่าเป็นชื่อใหม่ ("project2")

1 [การชุมนุม: AssemblyTitle ("ชื่อใหม่ที่นี่")] 2 [การชุมนุม: AssemblyDescription ("")] 3 [การชุมนุม: AssemblyConfiguration ("")] 4 [การชุมนุม: AssemblyCompany ("")] 5 [assembly: AssemblyProduct (" ชื่อใหม่ที่นี่ ")] 6 [ชุดประกอบ: AssemblyCopyright (" ลิขสิทธิ์© 2013 ")] 7 [ชุดประกอบ: AssemblyTrademark (" ")] 8 [ชุดประกอบ: AssemblyCulture (" ")]

  1. ปิด Visual Studio

  2. ลบไดเร็กทอรี bin และ obj

  3. เปลี่ยนชื่อโฟลเดอร์พาเรนต์และโฟลเดอร์ซอร์สเป็นชื่อใหม่ (project2):

ในตัวอย่าง: c: \ my \ path \ project1 \ project1

จะเป็น: c: \ my \ path \ project2 \ project2

  1. เปลี่ยนชื่อไฟล์ SLN โดยคลิกขวาที่ไฟล์ SLN นั้นไปข้างหน้าโดยเปลี่ยนชื่อ

  2. จากนั้นเปิดไฟล์ SLN (ภายในแผ่นจดบันทึกหรือตัวแก้ไขใด ๆ ) แล้วคัดลอกและแทนที่ (Ctrl + h) ชื่อเก่าใด ๆ ไปยังชื่อใหม่

  3. เปิด VS แล้วคลิก BUILD -> Clean Solution

  4. คลิกสร้าง -> สร้างโซลูชันแล้ว F5 เพื่อเรียกใช้ ...

  5. หมายเหตุ 1: หากคุณได้รับสิ่งนี้: ข้อผิดพลาดในการรวบรวม CS0246: ไม่พบประเภทหรือชื่อเนมสเปซ 'project2' (คุณกำลังพลาดการใช้คำสั่งหรือการอ้างอิงชุดประกอบ)

ไฟล์ต้นฉบับ: c: \ Users \ ชื่อผู้ใช้ \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ 78dd917f \ d0836ce4 \ App_Web_index.cshtml.a8d08dba.b0mwjmih.0.cs

จากนั้นไปที่โฟลเดอร์ "ไฟล์ ASP.NET ชั่วคราว" และลบทุกอย่าง

  1. Note2: หากคุณพยายามที่จะ "บันทึกเป็น" ไปยังโครงการที่มีชื่อใหม่และเพื่อให้เป็นเก่าให้พิจารณาการทำซ้ำ db ของคุณโดยการปรับเปลี่ยนการเชื่อมต่อ connectionstrings ใน web.config และโดยเริ่มต้นการโยกย้ายถ้าคุณมีใน โครงการ.

2

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

  1. ในกรณีทำการสำรองข้อมูลของโฟลเดอร์โครงการของคุณแม้ว่าคุณจะไม่ได้สัมผัส แต่ในกรณี!
  2. สร้างโครงการใหม่และบันทึกโดยใช้ชื่อที่คุณต้องการสำหรับโครงการ 'ใหม่' ของคุณหมายถึงชื่อที่คุณต้องการเปลี่ยนโครงการ 'เก่า' เป็น
  3. สร้างมัน หลังจากนั้นคุณจะมีโครงการที่มีชื่อที่คุณต้องการ แต่ไม่ได้ทำอะไรเลยนอกจากเปิดหน้าต่าง (แอปฟอร์ม Windows ในกรณีของฉัน)
  4. เมื่อเปิด proyect ใหม่ให้คลิกที่โครงการ -> เพิ่มที่มีอยู่Ítemและใช้ Windows Explorer ค้นหาโฟลเดอร์ 'old' ของคุณโครงการและเลือกไฟล์ทั้งหมดภายใต้ ... Visual Studio xxx \ Projects \ oldApp \ oldApp
  5. เลือกไฟล์ทั้งหมดในนั้น (.vb, .resx) และเพิ่มลงในโครงการ 'ใหม่' ของคุณ (ไฟล์ที่ควรเปิดไว้)
  6. ขั้นตอนสุดท้ายเกือบจะเป็นการเปิดไฟล์โครงการของคุณโดยใช้ Solution
    Explorer และในแท็บที่ 1 เปลี่ยนฟอร์มเริ่มต้นเริ่มต้นเป็นแบบฟอร์มที่ควรจะเป็น
  7. สร้างทุกอย่างใหม่

อาจเป็นขั้นตอนมากขึ้น แต่พิมพ์น้อยลงหรือไม่มีเลยเพียงแค่คลิกเมาส์ หวังว่าจะช่วย :)




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