Mettre à niveau les solutions Visual Studio 2013 vers Visual Studio 2015

109

J'ai installé à la fois Visual Studio 2013 et Visual Studio 2015. Les projets et solutions créés dans VS2013 sont ouverts par VS2013 comme je m'y attendais, mais j'aimerais pouvoir mettre à niveau ces fichiers afin qu'ils soient ouverts par VS2015 lors du double cliqué.

Comment puis-je mettre à niveau des fichiers de solution au format VS2013 afin que le sélecteur de version de Microsoft Visual Studio les ouvre dans VS2015?

Ben Pschierl
la source
1
Après la mise à niveau, vous souhaiterez peut-être déplacer les fichiers vers le dossier Projets 2015. Si vous utilisez Team Foundation Server 2013, voici les étapes pour déplacer le code source: stackoverflow.com/questions/39022515/…
DeveloperDan
Une duplication possible de Visual Studio 2012 ne convertit pas la solution vs2010?
2Toad du

Réponses:

166

La solution la plus simple IMO (également fonctionnée pour 2012 et 2013) est:

  1. Ouvrez le fichier de solution à l'aide de Visual Studio 2015
  2. Sélectionnez le fichier de solution dans l'Explorateur de solutions
  3. Sélectionnez Fichier / Enregistrer MySolution.sln sous ...
  4. Remplacez le fichier de solution existant.
Matthias Loerke
la source
2
Vous ne pouvez pas grouper cette solution
Zach Leighton
15
Notez que je devais d'abord mettre en évidence la solution elle-même dans l'Explorateur de solutions avant que l' Save Asélément de menu attendu n'apparaisse dans le menu Fichier.
Sam
3
Assurez-vous également que vous ouvrez vraiment la solution avec Visual Studio 2015. Je l'ai ouverte avec VS 2013 par accident et je me suis demandé pourquoi Enregistrer sous n'avait pas changé la version de Visual Studio.
Tom
3
Assurez-vous également que vous mettez en évidence la solution, comme l'a dit Sam - j'étais sur le nœud de projet de site Web, pas sur le nœud de solution.
revoir le
2
Fichier | Enregistrer fonctionne très bien et évite la boîte de dialogue Enregistrer sous inutile.
Jim Gomes
39

Changer la version dans le fichier .sln

# Visual Studio 2013
VisualStudioVersion = 12.0.31101.0

Pour correspondre à la version que vous avez

Depuis ce matin, mon VS Enterprise est 14.0.23107.0

Exemple:

# Visual Studio 2015
VisualStudioVersion = 14.0.23107.0

La mise à jour 3 de Visual Studio 2015 est 14.0.25420.1

Zach Leighton
la source
Je n'étais pas sûr si Visual Studio devait avoir d'autres modifications, mais cette solution fonctionne et est un simple changement. Merci!
Ben Pschierl
7
Cela devrait fonctionner pour simplement changer le commentaire: # Visual Studio 2015c'est ce que le multi-sélecteur déclenche de ...
Chuck Walbourn
1
«La mise à jour 1 de Visual Studio 2015 est 14.0.25123.0» , non, c'est la mise à jour 3 .
Abel
Je mets à niveau de 2013 à 2017 et cette solution a fonctionné pour moi
user680891
19

Remarque : cela fonctionne pour VS 2015 et 2017

Une alternative à l'édition manuelle du fichier .sln ou à la réenregistrement par-dessus le fichier .sln d'origine:

  1. Ouvrez la solution dans Visual Studio
  2. Cliquez avec le bouton droit sur solution> Ajouter> Nouveau dossier de solution (le nom n'a pas d'importance)
  3. Enregistrer la solution
  4. Supprimer le dossier de solution nouvellement ajouté
  5. Enregistrer la solution

La solution va maintenant être mise à niveau.

Schtroumpf du métro
la source
Fantastique et facile pour VS2017. Merci. De cette façon, Visual Studio modifie le fichier .sln au lieu de le corriger.
Debbie A
8

Je suis tombé dessus à la recherche de la même chose. La réponse acceptée fonctionne, mais j'ai remarqué quelques commentaires sur le fait de ne pas être mélangé. J'ai trouvé une option pour le traitement par lots et j'ai pensé partager.

Vous pouvez utiliser l' /upgradeoption dans devenv.com. Cela signifie qu'il peut être mélangé. Par exemple, pour réactiver le répertoire actuel en mettant à niveau tous les fichiers .sln (après les avoir sauvegardés), vous pouvez faire ceci:

dir -Recurse -path ".\" *.sln | ForEach-object {
    Copy-Item $_.FullName "$($_.DirectoryName)\$($_.Name.Remove($_.Name.Length - $_.Extension.Length)).vs2013$($_.Extension)";
    & "C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.com" /upgrade $_.FullName
}
Peter Ritchie
la source
Bonne réponse, bon de savoir que l'EDI peut le faire à partir de la ligne de commande. À quelle vitesse est-ce?
Zach Leighton
Ne fonctionne pas réellement pour la migration de VS2013 -> VS2015. Lors de l'exécution de la commande / upgrade, le message "Ce projet / solution ne nécessite pas de migration. Il s'ouvrira sans modification." s'affiche et le fichier .SLN n'est pas modifié.
Jim Gomes
6

J'ai résolu le problème par ceci: Faites un clic droit sur la solution, "Retarget solution". (Vs2013)

WooodHead
la source
Cela améliore également les projets.
chappjc
1
Je ne trouve pas cette option dans Visual Studio 2015 (mise à jour 3)
pogosama
C'est la bonne réponse pour VS2017. Dans mon cas, l'un des projets définis comme démarrage échouait, je devais donc définir un projet de démarrage différent (le projet Python fonctionne).
Shital Shah
4

Les autres solutions ici n'ont pas fonctionné pour moi. Mon projet a été créé dans Visual Studio 2012 et j'utilise maintenant Visual Studio 2015, mais cela devrait fonctionner si vous passez de 2013 à 2015. Voici comment mettre à niveau manuellement un projet d'une version antérieure à une version plus récente:

  1. Ouvrez l'invite de commande du développeur pour VS2015 (pour le trouver: https://msdn.microsoft.com/en-us/library/ms229859(v=vs.110).aspx )
  2. Tapez devenv SolutionFile | ProjectFile /upgradeet appuyez sur Entrée

SolutionFile | ProjectFileest le chemin complet avec le nom de votre fichier .sln.

https://msdn.microsoft.com/en-us/library/w15a82ay.aspx

AzNjoE
la source