ฉันต้องการทำสำเนาโครงการของฉัน ฉันจะไม่เริ่มทำตั้งแต่ต้นโดยการเพิ่มไฟล์และการอ้างอิงเป็นต้นโปรดทราบว่าฉันไม่ได้หมายถึงการคัดลอกเพื่อการปรับใช้ เพียงแค่คัดลอกธรรมดา
มีเครื่องมือใน VS เพื่อทำสิ่งนี้หรือไม่? ฉันใช้ VS 2008
ฉันต้องการทำสำเนาโครงการของฉัน ฉันจะไม่เริ่มทำตั้งแต่ต้นโดยการเพิ่มไฟล์และการอ้างอิงเป็นต้นโปรดทราบว่าฉันไม่ได้หมายถึงการคัดลอกเพื่อการปรับใช้ เพียงแค่คัดลอกธรรมดา
มีเครื่องมือใน VS เพื่อทำสิ่งนี้หรือไม่? ฉันใช้ VS 2008
คำตอบ:
หากคุณต้องการสำเนาวิธีที่เร็วที่สุดในการทำเช่นนี้คือบันทึกโครงการ จากนั้นทำสำเนาทุกสิ่งในระบบไฟล์ กลับไปที่ Visual Studio และเปิดสำเนา จากที่นั่นฉันแนะนำให้ตั้งชื่อโครงการ / โซลูชันใหม่เพื่อให้คุณไม่มีชื่อเดียวกันสองชื่อ แต่นั่นเป็นวิธีที่เร็วที่สุดในการทำสำเนา
เพียงแค่สร้างแม่แบบ ;
จากโครงการที่คุณเลือก: โครงการ - เทมเพลตการส่งออก
ตัวช่วยสร้างจะช่วยให้คุณกำหนด
จากนั้นจะบีบอัดโครงการของคุณลงในไดเรกทอรี 'เทมเพลตที่ส่งออกของฉัน' คุณยังมีตัวเลือกในการทำให้แม่แบบของคุณพร้อมใช้งานเมื่อคุณสร้างโครงการใหม่
เมื่อคุณใช้แม่แบบของคุณเพื่อสร้างโครงการใหม่เนมสเปซจะถูกต้องสำหรับ 'your_new_project_name' ตลอดทุกไฟล์การอ้างอิงทั้งหมดถูกต้องทุกอย่างสมบูรณ์แบบ :)
คุณสามารถส่งไฟล์. zip ไปให้ใครก็ได้และพวกเขาจะต้องคัดลอก (ไม่ใช่คลายซิป) ไฟล์. zip ลงในไดเร็กทอรี Templates \ ProjectTemplates เพื่อให้พวกเขาใช้ด้วย
ฉันสร้างเทมเพลต ASP.NET MVC กับโฟลเดอร์หน้าเลย์เอาต์โมเดลอื่น ๆ จัดเรียงอย่างที่ฉันชอบ
หมายเหตุ:
หากคุณมีโฟลเดอร์ว่างในโครงการของคุณจะไม่ถูกเพิ่มลงในเทมเพลตดังนั้นฉันเพิ่งเพิ่มคลาสว่างที่เหมาะสมกับแต่ละโฟลเดอร์และรูปภาพตัวอย่างสำหรับโฟลเดอร์รูปภาพ
ฉันเดาว่านี่เป็นสิ่งที่คุณทำบ่อย ๆ มียูทิลิตี้เล็ก ๆ ที่ไม่ให้สัญญากับคุณ: ฉันไม่ได้ใช้มันดังนั้นไม่แน่ใจว่ามันดีแค่ไหน:
http://www.kinook.com/CopyWiz/
นอกจากนี้ยังมีโครงการนี้ใน CodePlex:
ฉันอาจจะลองโครงการ codeplex และถ้ามันไม่ทำงานฉันจะเปลี่ยนชื่อทุกอย่างด้วยตนเองและแก้ไขไฟล์ sln
มันเป็นอย่างสูงที่ไม่แนะนำให้เลือกที่จะคัดลอกโครงการเลยเพราะบาง config ไฟล์รูปแบบภายในเช่น.csproj, .vspsccฯลฯ อาจ (และส่วนใหญ่อาจจะ) ชี้ไปที่การอ้างอิงที่เป็นเส้นทางสถานที่และอื่น ๆ การแก้ปัญหาก่อนหน้านี้ / สถานที่ในระบบหรือ TFS ถ้าคุณไม่เชี่ยวชาญในการอ่านไฟล์เหล่านี้และแก้ไขการอ้างอิงอย่าพยายามคัดลอกโครงการ
คุณสามารถสร้างโครงการโครงกระดูกประเภทเดียวกันกับที่คุณตั้งใจจะคัดลอกซึ่งจะสร้างไฟล์. csproj, .vspscc ที่เหมาะสม ตอนนี้คุณสามารถคัดลอกไฟล์คลาสสคริปต์และเนื้อหาอื่น ๆ จากโครงการก่อนหน้าได้เนื่องจากจะไม่มีผลกระทบ สิ่งนี้จะช่วยให้มั่นใจว่าการสร้างและการควบคุมเวอร์ชันราบรื่น (หากคุณเลือกที่จะสนใจ)
ต้องบอกว่าทั้งหมดนี้ให้ฉันให้คุณวิธีการคัดลอกโครงการใด ๆ ในลักษณะที่ชาญฉลาด:
ตอนนี้คุณอาจต้องแก้ไขข้อผิดพลาดของบิลด์บางอย่างซึ่งอาจเกิดจากการอ้างอิงและสิ่งที่ซ้ำกัน / หายไป
ฉันทำตามขั้นตอนเหล่านี้และฉันใช้เครื่องมือพัฒนาที่เรียกว่าResharperซึ่งยอดเยี่ยมมาก:
ดังนั้น,
แค่นั้นแหละ. คุณพร้อม !!!
วิธีที่ดีที่สุดคือการสร้างโครงการใหม่ตั้งแต่เริ่มต้นจากนั้นไปที่โฟลเดอร์ที่มีไฟล์โครงการที่คุณต้องการคัดลอก (โครงการ form1 ทุกอย่างยกเว้นโฟลเดอร์) เปลี่ยนชื่อไฟล์ (ยกเว้นไฟล์ form1) ตัวอย่างเช่น: ฉันคัดลอกไฟล์ Ch4Ex1 ไปยังโครงการ Ch4Ex2 ของฉัน แต่เปลี่ยนชื่อไฟล์เป็น Ch4Ex2 เป็นครั้งแรก คัดลอกและวางไฟล์เหล่านั้นใน Solution Explorer สำหรับโครงการใหม่ใน Visual Studio จากนั้นก็เขียนทับไฟล์และคุณควรจะไป!
หัวข้อเก่า แต่ฉันหวังว่าจะช่วยให้ทุกคนมองหาคำตอบนี้!
ฉันมีโครงการที่มีไฟล์ต้นฉบับอยู่ในโฟลเดอร์ด้านล่างโฟลเดอร์โครงการ เมื่อฉันคัดลอกโฟลเดอร์โครงการโดยไม่มีโฟลเดอร์ต้นทางและเปิดโครงการคัดลอกไฟล์ต้นฉบับจะไม่หายไป แต่พบได้ที่ตำแหน่งเดิม ฉันปิดโครงการคัดลอกโฟลเดอร์ต้นทางแล้วเปิดโครงการอีกครั้ง ตอนนี้โครงการอ้างอิงไฟล์ต้นฉบับที่คัดลอกมาอย่างน่าอัศจรรย์ (ทั้งพา ธ ใหม่ปรากฏขึ้นที่ "บันทึกเป็น" และการเปลี่ยนแปลงในไฟล์ถูกบันทึกในเวอร์ชันที่คัดลอกแล้ว)
มีข้อแม้คือ: ถ้าไม่ใช่ทั้งโฟลเดอร์เก่าและใหม่อยู่ด้านล่างโฟลเดอร์ไลบรารีที่ใช้แล้วเวทย์มนตร์ที่กล่าวถึงข้างต้นจะเป็นการอ้างอิงแบบสัมบูรณ์ไปยังไลบรารีและคาดว่าจะอยู่ภายใต้เส้นทางสัมพัทธ์เดียวกัน
ฉันลองด้วย VS Express 2012
วิธีแก้ปัญหาของฉันแตกต่างไปเล็กน้อย - คอมพิวเตอร์ที่มีแพ็คเกจอยู่นั้นเสียชีวิตดังนั้นฉันจึงถูกบังคับให้สร้างมันบนคอมพิวเตอร์เครื่องอื่น
สิ่งที่ฉันทำ (ใน VS 2008) คือการเปิดไฟล์ต่อไปนี้ในไดเรกทอรีของฉัน:
- <package name>.djproj
- <package name>.dtproj.user
- <package name>.dtxs
- <package name>.sln
- Package.dtsx
เมื่อฉันทำสิ่งนี้หน้าต่างป๊อปอัพจะถามฉันว่าไฟล์ sln นั้นจะเป็นทางออกใหม่หรือไม่และเมื่อฉันคลิก 'ใช่' ทุกอย่างจะทำงานได้อย่างสมบูรณ์
หลังจากลองใช้วิธีแก้ไขปัญหาและสร้างสำเนาสำหรับโครงการ MVC
สำหรับโครงการ MVC โปรดอัปเดตหมายเลขพอร์ตในไฟล์. csproj คุณสามารถช่วย iis applicationhost.config เพื่อตรวจสอบหมายเลขพอร์ต หมายเลขพอร์ตเดียวกันจะทำให้เกิดปัญหาการโหลดแอสเซมบลีใน IIS
ทำตามคำตอบของ Shane ด้านบน (ซึ่งใช้งานได้ดีมาก BTW) ...
คุณอาจพบสามเหลี่ยมสีเหลืองฆ่าในรายการอ้างอิง ส่วนใหญ่เหล่านี้จะถูกกำจัดด้วยและBuild->Clean Solution
Build->Rebuild Solution
ฉันเคยมีการอ้างอิง Google API บางอย่างที่ค่อนข้างดื้อกว่า
การพยายามติดตั้งแพคเกจ NuGet ของรุ่นเดิมใหม่ไม่ทำงาน
Visual Studio คิดว่าคุณได้ติดตั้งแล้ว
ในการหลีกเลี่ยงปัญหานี้:
1: เขียนเวอร์ชันดั้งเดิม
2: ติดตั้งเวอร์ชันที่สูงกว่าถัดไป ... จากนั้นถอนการติดตั้ง
3: ติดตั้งเวอร์ชันดั้งเดิมจากขั้นตอน # 1
ฉันใช้ Visual Studio 2013 โดยที่ Project> Export Template ไม่ใช่ตัวเลือก นี่คือสิ่งที่ฉันใช้ในการโคลนโครงการ
จากโซลูชันของคุณ: ไฟล์> เอ็กซ์พอร์ตเทมเพลต> เลือกโปรเจ็กต์เพื่อสร้างเทมเพลตให้จดบันทึกเส้นทาง
ดาวน์โหลดและติดตั้ง VS 2013 SDK ที่นี่
สร้างโครงการ VSIX ใหม่ภายใต้ Extensibility
จาก VSIXManifest Dialog เลือกแท็บสินทรัพย์
กรอกข้อมูลลงในกล่องข้อความผู้แต่ง
เลือก "เทมเพลตโครงการ" สำหรับประเภทและเรียกดูเพื่อเพิ่มเทมเพลตที่ส่งออก (บันทึกที่เส้นทางที่คุณจดบันทึกไว้ในขั้นตอนที่ 1)
บันทึกและสร้างโครงการ VSIX ไปที่โฟลเดอร์ ... / bin / Debug ของโครงการ VSIX แล้วดับเบิ้ลคลิกเพื่อเรียกใช้ไฟล์. vsix
เริ่มต้นอินสแตนซ์ใหม่ของ Visual Studio และคุณควรเห็นแม่แบบของคุณภายใต้ประเภทโครงการที่แม่แบบของคุณเป็น สร้างโครงการใหม่จากเทมเพลตของคุณ
คุณจะต้องเพิ่มการอ้างอิง dll ใด ๆ อีกครั้ง
วิธีที่ง่ายที่สุดในการทำเช่นนี้คือการส่งออกโครงการเป็นแม่แบบและบันทึกลงในตำแหน่งแม่แบบเริ่มต้น จากนั้นคัดลอกแม่แบบไปยังไดเรกทอรีเดียวกันแน่นอนในตำแหน่งที่คุณต้องการย้ายไป หลังจากนั้นเปิดสตูดิโอภาพในสถานที่ใหม่สร้างโครงการใหม่และคุณจะได้รับแจ้งให้ค้นหาเทมเพลต ค้นหาสิ่งที่คุณตั้งชื่อเทมเพลตเลือกและคุณทำเสร็จแล้ว!