Çözüm dosyasını (SLN) Visual Studio 2013'te açmaya nasıl zorlayabilirim?


102

VS 2013'te açıkça bir VS 2012 çözümünü (SLN dosyası) açmaya çalışmak başarılı olur. Windows Gezgini'nde çift tıkladığınızda, bunun yerine yine de VS 2012'de açılır.

" Visual Studio 2012 vs2010 çözümünü dönüştürmüyor mu? " Yazısını okudum ve çözüm dosyası olan "Farklı Kaydet ..." önerisini izledim .

Yine de varsayılan olarak VS 2012'de açılır.

Benim sorum:

Bir SLN dosyasını Visual Studio 2013'te açılmaya zorlamak için nasıl değiştirebilirim?

Yanıtlar:


123

.slnDosya gösterir amaçlanan erken hatlarının biri olarak sürümünü - örneğin:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

veya:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

Ancak - yalnızca .slndosyalar için varsayılan uygulama "Microsoft Visual Studio Sürüm Seçici" ise bundan yararlanabilir. Bunun yerine varsayılan .slnuygulamanın belirli bir sürüm olması alışılmadık bir durum değildir . Windows 8'de:

görüntü açıklamasını buraya girin

hangisinin varsayılan olduğunu anlayabilirsiniz çünkü "kullanmaya devam et" diyor:

görüntü açıklamasını buraya girin

görüntü açıklamasını buraya girin


2
@UweKeim hmmm; bu benim deneyimim değil; varsayılan olarak sürüm seçici ile, benim için devenv'nin doğru sürümü her sln dosyası için yüklenir - bu çözümleri herhangi bir noktada VS2013'e yüklemiş olmanız mümkün mü? bu onları yükseltecek
Marc Gravell

2
Pekala, öneriniz bana fazlasıyla yeterli. VS 2012'deki karanlık olanlara kıyasla şimdi yine sarı klasör simgelerini sevin!
Uwe Keim

2
@UweKeim eğer sln dosyasına bakarsanız, ikinci satır ona hangi IDE ile açılacağını söyler: # Visual Studio 2013vs# Visual Studio 2012
Marc Gravell

1
@UweKeim "Değeri tanımazsam veya IDE kurulu değilse, kurulu en son IDE'yi kullanın"
Marc Gravell

6
benim için varsayılan başlatıcı zaten "Microsoft Visual Studio Sürüm Seçici" olarak ayarlanmıştı, ancak 2012 ide'de visual studio 2013'te yapılan çözümleri başlatıyordu !!. Ancak "Microsoft Visual Studio Sürüm Seçici" nin varsayılan olarak yeniden uygulanması sorunu düzeltti. Şimdi 2012 ide'de açılıyor ve 2013 ide'de açılıyor. (Windows 7 64bit kullanıyorum)
Peter Flannery

35

Komut satırını kullanarak bir .sln veya .proj dosyasının yükseltilmesini de zorlayabileceğinizi unutmayın; burada devenv, hedef IDE sürümüdür:

devenv "MyProject.sln" /upgrade

Misal:

"%programfiles(x86)%\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe" "D:\Source\MySolution.sln" /upgrade

Bunun Visual Studio'yu açmadığını unutmayın. Alternatif olarak, IDE içinden çözüm dosyanız için "Farklı Kaydet" i seçmek ve çözümün üzerine yazmak veya yeni adla kaydetmektir.

Daha fazlasını okuyun: http://msdn.microsoft.com/en-us/library/w15a82ay.aspx


1
BUNU çünkü komut dosyası yazılabilir ve bilgisayar korsanlığı yok.
CAD bloke

2
Maalesef, bu teknik her zaman çözüm dosyasını güncellemez.
Theophilus

Bundan sonra, devenv "MyProject.sln" /upgrade.sln dosyasını da düzenlemelisiniz, @ Zac'in ans dosyasını kontrol edin.
Wei Guo

22

Görünüşe göre OP'nin zaten çalışan bir cevabı var ... ama benim için sorun farklıydı. Bir VS 2012 çözümüm vardı (aslında birkaç tane) ve bunları 2013'e dönüştürmek istedim (anladığım kadarıyla .sln dosyasında önemsiz bir değişiklik, ancak farkında olmadığım bazı gizli yükseltme mantığı olması durumunda otomatik olarak yapılmasını istedim) .

Bu yüzden onu VS2013'te açacağımı düşündüm, beklendiği gibi otomatik olarak yükseltilir ve sonra çözüme çift tıklayıp ileride VS2013'te görmeye ayarlanırım. Ancak VS2013'te açılış, çözümü benim için beklendiği gibi otomatik olarak yükseltmiyordu ve dosyayı VS2013'te açtıktan sonra yükseltmeyi zorlamanın açık bir yolunu bulamadım. Çözüm üzerinde çalışabilir, değişikliklerimi kaydedebilir ve VS2013'ü kapatabilirim, ancak .sln değişmeden ve yükseltilmeden kalır.

Sorunumun çözümü nasıl açtığımla ilgili olduğu ortaya çıktı ... Bir alışkanlık olarak dosyaları sağ tıklıyorum ve bir dosyayı açmak için kullanmak istediğim programı seçmek için "birlikte aç" ı seçiyorum. Bunu sık sık yaparım. Not Varsayılan "birlikte aç" programını değiştirmekten bahsetmiyorum, yalnızca belirli bir programla bir dosyayı bir kez açmaktan bahsediyorum. Bu yüzden .sln dosyasına sağ tıklardım ... Visual Studio 2013 ile açın ... ve hiçbir şey yükseltilmez.

Sonunda VS2013'e gitmeyi düşündüm, sonra Dosya> Aç'ı ve .sln dosyasını seçmeyi düşündüm (bu benim için yabancı çünkü bu şekilde bir şey açmazsam neredeyse hiç açmam, belki de aynı şekilde). Her neyse, çözüm dosyasını anında yükseltti.

Yükseltme işleminden sonra, .sln dosyasının 2-3. Satırları bundan değiştirildi:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012

buna:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013
VisualStudioVersion = 12.0.30501.0
MinimumVisualStudioVersion = 10.0.40219.1

Tecrübelerime göre, bir VS2012 .sln'i otomatik olarak VS2013'e güncellemek için, VS2013'ü açmalı ve Dosya> Aç iletişim kutusundan .sln'yi seçmelisiniz. .Sln dosyasını VS2013'te açmaya zorlamak için explorer kabuğunun kullanılması yükseltme mantığını çalıştırmaz (görünüşe göre).

Bir başka not olarak, başka bir çözümle test ettim ve Configuration Manager aracılığıyla değişiklikler yaptıktan sonra (ki bu .sln dosyasına "dokunur") sağ tıklama ile açtıktan sonra bile bir VS2012'yi VS2013'e yükseltti.


1
Bu tam olarak yapmaya çalıştığım şeydi. Güncelleme 3'üm var ve bir proje otomatik olarak güncellendi, ancak diğeri yalnızca Configuration Manager'ı açtığımda değişiyordu. İpuçları için teşekkürler!
Erica

2
VS 2013 içinden bir vs 2012 .sln bile açtım ama benim için yükseltme YAPILMADI. Tuhaf.
PositiveGuy

4
Yükseltmeyi tetikleyen, çözümün VS 2013'teki açılışı değil, etkin yapılandırmadaki bir ayarı değiştirmek gibi çözümü değiştiren bir eylemdir.
bleater

vs2013'ten vs2015'e yükseltmeyi denedim ve işe yarıyor.
Dingxin Xu

7

Daha önce 2010'dan 2013'e başarıyla yükseltilmiş ancak yine de 2010 ile ilişkili olarak .sln'i gösteren bir çözümüm vardı.

Bu iş parçacığında verilen tüm yöntemleri test ettim ve .sln'yi başarıyla düzelten tek yöntem yalnızca Visual Studio 2013'ü açmak, ardından IDE'de 2010 ile hala ilişkili olan çözümü açmak ve ardından [Dosya]> [Kaydet mevcut .sln dosyasının üzerine yazmak için (ad) .sln as].

.Sln dosyasının dosya ilişkilendirmesinin "Visual Studio sürüm seçici" olarak ayarlanması hiçbir değişiklik yapmadı ve çözüm 2010'da açılmaya devam etti.

Devenv (ad) .sln / yükseltme yöntemi .sln dosyamda değişiklik yapmadı.

.Sln dosyasının ham metnini kesmek benimkini bozdu ve hiç açılmadı.


Şerefe Jeff, seninle aynı durumla karşılaştım. Microsoft'un VS 2013'ün dokunduğu her şeyi yükseltmeye çalışmamasına karar vermesi güzel olsa da söylemeliyim, VS'nin önceki sürümlerinin aksine! Genellikle tam tersidir ve farklı VS IDE'lerimin birbirlerinin .proj ve .sln dosyalarını yükseltmesini engellemeye çalışıyorum :)
Simon Brangwin

@SimonBrangwin bir iyileştirmedir, ancak diğer cevaplara göre / yükseltme ile açıkça ararsanız, istenen yükseltmeyi gerçekten gerçekleştirmesini beklersiniz!
stannius

Jeff teşekkürler! Bu, VS 2013 sln'mi 2015 ile varsayılan olarak açılacak şekilde yükseltmenin tek yoluydu. Ayrıca, çözüm gezginini açmam ve 'Kaydet (ad ) .sln dosya menüsünde 'seçeneği olarak.
ToastyMallows

6

Bu sorunu çözmek için .sln dosyasının aşağıdaki satırlarını değiştirdim:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010

bunlara:

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2013

Yorum satırı, çözüm yükleyici tarafından ayrıştırılırken değiştirilmelidir.


4

Bu, bir çözüm dosyasını Visual Studio 2015'e yükseltmeye çalışan okuyucular için işe yarayabilir. (Bir VS 2012 çözümünü yükselttim.)

  1. Çözümü VS 2015'te açın.
  2. Çözüme yeni bir proje ekleyin. (Bir test projesi ekledim.)
  3. Projeyi kaldırın.
  4. Çözümü kaydedin.

Adım 3 onu silmediğinden şu anda kaldırılan proje klasörünü silmek isteyebilirsiniz.

Bu zaman ne benim için çalıştı zumey en ne de TTK en cevapları .

DÜZENLE

Metro Smurf , benzer bir soru için benimkine göre benzer, ancak daha kolay bir cevaba sahipti . Adımları şunlardı:

  1. VS 2015'te açık çözüm
  2. Sağ tıklama çözümü> Ekle> Yeni Çözüm Klasörü (ad önemli değil)
  3. Çözümü kaydedin
  4. Yeni eklenen çözüm klasörünü silin
  5. Çözümü kaydedin

Sadece bir projeyi yeniden adlandırdım ve daha sonra geri aldım. Bu şekilde klasör oluşturulmaz
Andy
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.