Konversi Solusi VS2012 ke VS2010

127

Saya bekerja di proyek VB dengan VS 2012 dan setelah selesai saya mencoba menambahkan proyek pengaturan.

Saya tidak menemukannya (karena Proyek Penataan dihentikan setelah VS2010) jadi saya beralih ke VS2010 tetapi masalahnya adalah proyek tidak akan terbuka dan saya mendapatkan pesan ini:

File yang dipilih adalah file solusi tetapi dibuat oleh versi yang lebih baru dari aplikasi ini dan tidak dapat dibuka.

Saya mencoba artikel ini: http://www.codeproject.com/Tips/80953/Converting-VS2010-Solution-to-VS2008 dan mencoba mengkonversi dari 2012 hingga 2010 tetapi pesan yang sama muncul.

HokaHelal
sumber
Mengapa Anda tidak menggunakan VS2010 untuk membuat satu proyek pengaturan - sejauh yang saya ingat Anda tidak perlu memasukkan proyek dan dapat menambahkan file sendiri
Carsten
oke, ini bisa menjadi solusi di sekitar idenya adalah kita selalu memasukkan setup dengan proyek dalam solusi yang sama untuk membuat kompilasi / penyebaran cepat
HokaHelal
1
Apakah Anda memiliki sp1 pada vs2010? Saya pikir Anda memerlukan paket layanan untuk membuka file proyek / solusi 2012.
Georgi Stoyanov

Jawaban:

306

Saya juga menghadapi masalah serupa. Saya mencari di Google tetapi tidak menemukan solusinya. Jadi saya mencoba sendiri dan ini solusinya.

Buka file solusi Anda di notepad. Lakukan 2 perubahan

  1. Ganti "Format Versi 12.00" dengan "Format Versi 11.00" (tanpa tanda kutip.)
  2. Ganti "# Visual Studio 2012" dengan "# Visual Studio 2010" (tanpa tanda kutip.)

Semoga ini bisa membantu Anda juga ..........

Bhavin
sumber
3
Apakah ada kerugian untuk melakukan ini? Tampaknya terlalu mudah untuk menjadi kenyataan.
kbeal2k
4
Itu tidak bekerja untuk saya masih dipertahankan itu tidak kompatibel?
David
3
Terima kasih atas tip ini! Bekerja bahkan untuk menurunkan versi proyek api web ASP.NET. Selain mengadaptasi Format Versi 12.00 ke Format Versi 11.00 di sln dan menyesuaikan elemen TargetFrameworkVersion di csproj dari 4,5> 4.0; Saya harus menghapus elemen httpRuntime di web.config dan menyesuaikan kompilasi atribut targetFramework di web.config dari 4.5> 4.0
AardVark71
2
Fantastis, tidak percaya tidak ada kompatibilitas mundur.
Stephen Murby
1
Saya baru saja jatuh ke dalam perangkap ini menggunakan VS2013 - mengubah Format kembali ke 11 dan semuanya baik-baik saja di VS2010 - terima kasih!
Surfbutler
121

Hanya untuk menguraikan jawaban luar biasa Bhavin - mengedit file solusi berfungsi tetapi Anda mungkin masih mendapatkan kesalahan yang tidak kompatibel (seperti yang dilaporkan David) jika Anda memilih .NET 4.5 sebagai versi .NET default dalam proyek VS2012 Anda dan lingkungan VS2010 Anda tidak mendukung itu.

Untuk memperbaikinya dengan cepat, buka file .csproj VS2012 dalam editor teks dan ubah TargetFrameworkVersion menjadi 4.0 (dari 4.5). VS2010 akan dengan senang hati memuat solusi dan proyek yang "diedit".

Anda juga harus mengedit file app.config yang memiliki referensi untuk .NET 4.5 dengan cara yang serupa untuk memungkinkan mereka berjalan di lingkungan .NET 4.0.

Rory Solley
sumber
5
Ini bersama dengan jawaban Bhavin bekerja dengan sempurna. Terima kasih semuanya.
desaivv
2
Terima kasih atas tip ini! Bekerja bahkan untuk menurunkan versi proyek api web ASP.NET. Selain mengadaptasi Format Versi 12.00 ke Format Versi 11.00 di sln dan menyesuaikan elemen TargetFrameworkVersion di csproj dari 4,5> 4.0; Saya harus menghapus elemen httpRuntime di web.config dan menyesuaikan kompilasi atribut targetFramework di web.config dari 4.5> 4.0
AardVark71
Selain itu Anda dapat, seperti yang saya lakukan, harus melihat file .vcproj Anda dan mengubah perangkat platform dari v110 ke v100.
Xyon
2

Saya memiliki masalah yang sama dan tidak ada solusi di atas yang berfungsi, jadi saya menggunakan standby lama yang selalu berfungsi:

  1. Ganti nama folder yang berisi proyek
  2. Buat proyek baru dengan nama yang sama dengan 2010
  3. Diff dua folder dan->
  4. Salin semua file sumber secara langsung
  5. Abaikan bin / debug / lepaskan dll
  6. Diff .csproj dan salin semua baris yang relevan.
  7. Jika file .sln hanya memiliki satu proyek, abaikan saja. Jika kompleks, maka bedakan juga.

Itu hampir selalu berhasil jika Anda menghabiskan 10 menit untuk itu dan tidak bisa mendapatkannya.

Perhatikan bahwa untuk masalah yang sama dengan versi yang lebih lama (2008, 2005) Anda biasanya dapat pergi dengan hanya mengubah versi di .csproj dan baik mengubah versi di .sln atau membuangnya, tetapi ini tampaknya tidak berfungsi untuk 2013 .

Wade Hatler
sumber
2

solusi paling sederhana adalah ..... buka situs web Anda di vs2013 dan buka Debug-> WebsiteProperties (opsi terakhir) sebuah jendela baru akan terbuka ..

di jendela ini buka opsi "Build" dan ubah versi .net framework dari 4,5 menjadi 4.0 ..... lalu pilih ok. [note: langkah ini hanya akan berfungsi jika proyek Anda tidak memiliki ketergantungan dengan vs2013 ...]

Sekarang buka situs web Anda di vs2010

Rakeshyadvanshi
sumber
1

Buka file proyek dan bukan solusinya. Proyek akan dikonversi oleh Wizard, dan setelah dikonversi, ketika Anda membangun proyek, Solusi baru akan dihasilkan sebagai VS2010.

Michael Haephrati
sumber
1

Solusi VS2010 didukung oleh VS2012. Solusi VS2012 tidak didukung oleh VS2010 -> pemutakhiran satu arah saja. VS2012 tidak mendukung proyek pengaturan. Temukan di sini lebih lanjut tentang kompatibilitas VS2010 / VS2012: http://msdn.microsoft.com/en-us/library/hh266747(v=vs.110).aspx

SomeWittyUsername
sumber
1
Membaca melalui dokumen itu mengatakan bahwa ADA hal-hal yang akan berfungsi dengan baik di antara keduanya - artinya Anda dapat membuat proyek / solusi di VS2012 dan membukanya tanpa masalah di VS2010. Namun, dokumen tersebut mengindikasikan bahwa ada hal-hal yang, jika digunakan pada tahun 2012, tidak akan memungkinkan Anda untuk membuka pada tahun 2010. stackoverflow.com/questions/10902865/… adalah jawaban bagus dan sederhana lainnya.
brazilianldsjaguar
Jika Anda membacanya dengan cermat, maka Anda akan melihat sedikit perbedaan: proyek yang dibuat di VS2010 bekerja di VS2012, bukan sebaliknya. "... Anda dapat membuka proyek yang dibuat di Visual Studio 2010 SP1 ..."
Piotr Lewandowski
0

Solusi sederhana yang berhasil untuk saya.

  1. Instal Vim editor untuk windows.
  2. Buka solusi proyek VS 2012 menggunakan editor Vim dan modifikasi penargetan versi solusi Visual studio 10.
  3. Buka solusi dengan Visual studio 2010 .. dan lanjutkan pekerjaan Anda;)
Tamu
sumber
Kenapa Vim dan bukan hanya notepad?
Zac