การแปลงโซลูชัน VS2012 เป็น VS2010


127

ฉันทำงานในโครงการ VB กับ VS 2012 และหลังจากเสร็จสิ้นฉันพยายามเพิ่มโครงการตั้งค่า

ฉันไม่พบมัน (เพราะโครงการติดตั้งถูกยกเลิกหลังจาก VS2010) ดังนั้นฉันจึงเปลี่ยนไปใช้ VS2010 แต่ปัญหาคือโครงการจะไม่เปิดและฉันได้รับข้อความนี้:

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

ฉันลองบทความนี้: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 และพยายามแปลงจาก 2012 เป็น 2010 แต่มีข้อความเดียวกันปรากฏขึ้น


ทำไมคุณไม่ใช้ VS2010 ในการสร้างโครงการติดตั้งเพียงครั้งเดียวเท่าที่ฉันจำได้ว่าคุณไม่จำเป็นต้องทำโครงการรวมและสามารถเพิ่มไฟล์ได้ด้วยตัวเอง
Carsten

โอเคสิ่งนี้สามารถแก้ไขได้ด้วยแนวคิดคือเรามักจะรวมการตั้งค่าไว้กับโครงการในโซลูชันเดียวกันเพื่อให้การรวบรวม / การนำไปใช้อย่างรวดเร็ว
HokaHelal

1
คุณมี sp1 ใน vs2010 หรือไม่ ฉันคิดว่าคุณต้องใช้เซอร์วิสแพ็คเพื่อเปิดไฟล์โครงการ / โซลูชัน
Georgi Stoyanov

คำตอบ:


306

ฉันยังต้องเผชิญกับปัญหาที่คล้ายกัน ฉัน googled แต่หาทางแก้ไม่เจอ ดังนั้นฉันจึงลองด้วยตัวเองและนี่คือทางออกของฉัน

เปิดไฟล์โซลูชันใน Notepad ทำการเปลี่ยนแปลง 2 ครั้ง

  1. แทนที่ "Format Version 12.00" ด้วย "Format Version 11.00" (โดยไม่ต้องใส่เครื่องหมายอัญประกาศ)
  2. แทนที่ "# Visual Studio 2012" ด้วย "# Visual Studio 2010" (โดยไม่มีเครื่องหมายอัญประกาศ)

หวังว่านี่จะช่วยคุณเช่นกัน ..........


3
มีข้อเสียในการทำเช่นนี้? ดูเหมือนง่ายเกินไปที่จะเป็นจริง
kbeal2k

4
มันใช้งานไม่ได้สำหรับฉันมันยังคงยืนยันว่ามันเข้ากันไม่ได้หรือ
David

3
ขอบคุณสำหรับเคล็ดลับนี้! ทำงานได้แม้สำหรับการลดระดับโครงการ ASP.NET เว็บ API นอกเหนือจากการปรับรูปแบบรูปแบบ 12.00 เป็นรูปแบบเวอร์ชัน 11.00 ใน sln และปรับองค์ประกอบ TargetFrameworkVersion ใน csproj จาก 4.5> 4.0; ฉันต้องลบองค์ประกอบ httpRuntime ใน web.config และปรับเปลี่ยนแอตทริบิวต์การรวบรวม targetFramework ใน web.config จาก 4.5> 4.0
AardVark71

2
ไม่น่าเชื่อว่าจะไม่มีความเข้ากันได้แบบย้อนกลับ
Stephen Murby

1
ฉันเพิ่งตกหลุมพรางนี้โดยใช้ VS2013 - เปลี่ยน Format กลับเป็น 11 และทุกอย่างก็ใช้ได้อีกครั้งใน VS2010 - ขอบคุณ!
Surfbutler

121

เพียงอธิบายอย่างละเอียดเกี่ยวกับคำตอบที่ยอดเยี่ยมของ Bhavin - การแก้ไขไฟล์โซลูชันทำงานได้ แต่คุณยังอาจได้รับข้อผิดพลาดที่เข้ากันไม่ได้ (ดังที่ David รายงาน) หากคุณเลือก. NET 4.5 เป็นรุ่นเริ่มต้น. NET ในโครงการ VS2012 และสภาพแวดล้อม VS2010 ของคุณ สนับสนุนว่า

หากต้องการแก้ไขอย่างรวดเร็วให้เปิดไฟล์ VS2012 .csproj ในโปรแกรมแก้ไขข้อความและเปลี่ยน TargetFrameworkVersion ลงเป็น 4.0 (จาก 4.5) VS2010 จะโหลดโซลูชันและโครงการที่ "แก้ไข" อย่างมีความสุข

คุณจะต้องแก้ไขไฟล์ app.config ที่มีการอ้างอิงถึง. NET 4.5 ด้วยวิธีที่คล้ายกันเพื่อให้สามารถทำงานบนสภาพแวดล้อม. NET 4.0 ได้


5
สิ่งนี้พร้อมกับคำตอบของ Bhavin ทำงานได้อย่างสมบูรณ์ ขอบคุณทั้งคู่
desaivv

2
ขอบคุณสำหรับเคล็ดลับนี้! ทำงานได้แม้สำหรับการลดระดับโครงการ ASP.NET เว็บ API นอกจากการปรับรูปแบบรูปแบบ 12.00 เป็นรูปแบบเวอร์ชัน 11.00 ใน sln และปรับองค์ประกอบ TargetFrameworkVersion ใน csproj จาก 4.5> 4.0; ฉันต้องลบองค์ประกอบ httpRuntime ใน web.config และปรับเปลี่ยนแอตทริบิวต์การรวบรวม targetFramework ใน web.config จาก 4.5> 4.0
AardVark71

นอกจากนี้คุณอาจต้องผ่านไฟล์. vcproj ของคุณและเปลี่ยนชุดเครื่องมือแพลตฟอร์มจาก v110 เป็น v100
Xyon

2

ฉันมีปัญหาที่คล้ายกันและไม่มีวิธีแก้ปัญหาใดที่ได้ผลดังนั้นฉันจึงใช้งานโหมดแสตนด์บายเก่าที่ใช้งานได้:

  1. เปลี่ยนชื่อโฟลเดอร์ที่มีโครงการ
  2. สร้างโครงการใหม่ที่มีชื่อเดียวกันกับปี 2010
  3. ทำให้ทั้งสองโฟลเดอร์แตกต่างกันและ ->
  4. คัดลอกไฟล์ต้นฉบับทั้งหมดโดยตรง
  5. ละเว้น bin / debug / release ฯลฯ
  6. diff .csproj และคัดลอกเหนือบรรทัดทั้งหมดที่เกี่ยวข้อง
  7. หากไฟล์. sln มีเพียงโครงการเดียวให้ข้ามไป ถ้ามันซับซ้อนก็ให้กระจายมันเช่นกัน

มันใช้งานได้เกือบทุกครั้งถ้าคุณใช้เวลา 10 นาทีและไม่สามารถทำได้

โปรดทราบว่าสำหรับปัญหาที่คล้ายกันกับรุ่นที่เก่ากว่า (2008, 2005) คุณมักจะได้รับเพียงแค่เปลี่ยนรุ่นใน. csproj และเปลี่ยนรุ่นใน. sln หรือทิ้งมัน แต่ดูเหมือนจะไม่ทำงานสำหรับ 2013 .


2

ทางออกที่ง่ายที่สุดคือ ..... เปิดเว็บไซต์ของคุณใน vs2013 และไปที่ Debug-> WebsiteProperties (ตัวเลือกสุดท้าย) หน้าต่างใหม่จะเปิดขึ้น ..

ในหน้าต่างนี้ไปที่ตัวเลือก "Build" และเปลี่ยนรุ่น. net framework จาก 4.5 เป็น 4.0 ..... เลือก ok [หมายเหตุ: ขั้นตอนนี้จะใช้งานได้หากโครงการของคุณไม่มีการอ้างอิงกับ vs2013 ... ]

ตอนนี้เปิดเว็บไซต์ของคุณใน vs2010


1

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


1

โซลูชันของ VS2010 รองรับโดย VS2012 โซลูชันของ VS2012 ไม่รองรับ VS2010 -> การอัพเกรดทางเดียวเท่านั้น VS2012 ไม่สนับสนุนโครงการตั้งค่า ค้นหาข้อมูลเพิ่มเติมเกี่ยวกับความเข้ากันได้ของ VS2010 / VS2012 ที่นี่: http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx


1
การอ่านผ่านเอกสารนั้นบอกว่ามีสิ่งต่าง ๆ ที่จะทำงานได้ดีระหว่างสองสิ่งนั่นหมายความว่าคุณสามารถสร้างโครงการ / โซลูชันใน VS2012 และเปิดโดยไม่มีปัญหาใน VS2010 อย่างไรก็ตามเอกสารดังกล่าวระบุว่ามีสิ่งต่าง ๆ ที่หากใช้ในปี 2012 จะไม่อนุญาตให้คุณเปิดในปี 2010 stackoverflow.com/questions/10902865/…เป็นคำตอบที่ดีและง่าย
brazilianldsjaguar

หากคุณอ่านอย่างระมัดระวังคุณควรเห็นความแตกต่างเล็กน้อย: โครงการที่สร้างใน VS2010 ทำงานใน VS2012 ไม่ใช่วิธีอื่น "... คุณสามารถเปิดโครงการที่สร้างขึ้นใน Visual Studio 2010 SP1 ... "
Piotr Lewandowski

0

ทางออกง่าย ๆ ที่เหมาะกับฉัน

  1. ติดตั้ง Vim editor สำหรับ windows
  2. เปิดโซลูชันโครงการ VS 2012 โดยใช้เครื่องมือแก้ไข Vim และปรับเปลี่ยนรุ่นการกำหนดเป้าหมายโซลูชัน Visual Studio 10
  3. เปิดโซลูชันด้วย Visual Studio 2010 .. และทำงานต่อไป;)

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