Comment forcer l’ouverture d’un fichier de solution (SLN) dans Visual Studio 2013?

Tentative d’ouvrir une solution VS 2012 (fichier SLN) explicitement dans VS 2013 réussit. Il suffit de double-cliquer dessus dans l’Explorateur Windows pour l’ouvrir dans VS 2012 à la place.

J’ai lu ” Visual Studio 2012 ne convertit pas la solution vs2010? ” Et a suivi la suggestion de “Enregistrer sous …” le fichier de solution .

Pourtant, il s’ouvre dans VS 2012 par défaut.

Ma question:

Comment modifier un fichier SLN pour le forcer à s’ouvrir dans Visual Studio 2013?

Le fichier .sln indique la version prévue comme l’une des premières lignes – par exemple:

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

ou:

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

Cependant, il ne peut être utilisé que si l’application par défaut pour les fichiers .sln est le “Microsoft Visual Studio Version Selector”. Il n’est pas rare que l’application par défaut .sln soit une version spécifique à la place. Dans windows 8:

entrer la description de l'image ici

vous pouvez dire quelle est la valeur par défaut car il est dit “continuer à utiliser”:

entrer la description de l'image ici

entrer la description de l'image ici

Notez que vous pouvez également forcer la mise à niveau d’un fichier .sln ou .proj en utilisant la ligne de commande, où devenv est la version IDE cible:

 devenv "MyProject.sln" /upgrade 

Exemple:

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

Notez que cela n’ouvre pas Visual Studio. Une alternative consiste à, dans l’IDE, sélectionner “Enregistrer sous” pour votre fichier de solution et écraser ou enregistrer la solution sous un nouveau nom.

En savoir plus: http://msdn.microsoft.com/en-us/library/w15a82ay.aspx

On dirait que l’OP a déjà une réponse fonctionnelle … mais pour moi, le problème était différent. J’avais une solution VS 2012 (plusieurs en fait) et je voulais les convertir en 2013 (ce qui, à mon sens, est un changement sortingvial du fichier .sln, mais je voulais que cela se fasse automatiquement au cas où .

Je pensais donc que je l’ouvrirais dans VS2013, il se mettrait automatiquement à jour comme prévu, puis je serais prêt à double-cliquer sur la solution et à la voir dans VS2013. Mais l’ouverture dans VS2013 ne mettait PAS la solution à niveau automatiquement comme prévu et je n’ai pas trouvé de moyen explicite de forcer la mise à niveau après l’ouverture du fichier dans VS2013. Je pourrais travailler avec la solution, sauvegarder mes modifications et fermer VS2013, mais le fichier .sln restrait inchangé et non mis à niveau.

Il s’avère que mon problème était dans la façon dont j’ouvrais la solution … comme d’habitude, je clique sur les fichiers avec le bouton droit de la souris et je sélectionne “open with” pour choisir le programme que je veux utiliser pour ouvrir un fichier. Je le fais fréquemment. Note Je ne parle pas de changer le programme par défaut “ouvrir avec” mais juste d’ouvrir un fichier avec un programme spécifique une fois. Donc, je ferais un clic droit sur le fichier .sln … ouvrez avec Visual Studio 2013 … et rien ne serait mis à jour.

Finalement, j’ai pensé aller dans VS2013, puis faire Fichier> Ouvrir et sélectionner le fichier .sln (cela m’est étranger car je n’ouvre presque jamais rien de cette manière, peut-être que vous êtes de la même manière). Quoi qu’il en soit, le fichier de solution a été mis à jour instantanément.

Après la mise à niveau, les lignes 2-3 du fichier .sln ont changé de ceci:

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

pour ça:

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

D’après mon expérience, pour mettre à jour automatiquement un VS2012 .sln vers VS2013, vous devez ouvrir VS2013 et sélectionner le fichier .sln dans la boîte de dialog Fichier> Ouvrir. L’utilisation du shell de l’explorateur pour forcer l’ouverture du fichier .sln dans VS2013 n’invoque pas la logique de mise à niveau (apparemment).

Par ailleurs, j’ai testé avec une autre solution et après avoir apporté des modifications via Configuration Manager (qui “touche” évidemment le fichier .sln), il a mis à jour VS2012 vers VS2013, même après l’avoir ouvert avec un clic droit avec.

J’avais une solution qui avait été mise à niveau avec succès de 2010 à 2013, mais toujours associée à 2010.

J’ai testé toutes les méthodes données dans ce thread et la seule à avoir corrigé le .sln était d’ouvrir Visual Studio 2013 seul, puis d’ouvrir la solution qui était encore associée à 2010 dans l’EDI, puis d’utiliser [File]> [Save (nom) .sln as] pour écraser le fichier .sln existant.

La définition de l’assoc de fichier du fichier .sln comme “sélecteur de version de Visual Studio” n’a pas changé et la solution a continué à s’ouvrir en 2010.

La méthode devenv (name) .sln / upgrade n’a apporté aucune modification à mon fichier .sln.

Le piratage du texte brut du fichier .sln endommageait le mien et ne s’ouvrait pas du tout.

Pour résoudre ce problème, je viens de modifier les lignes suivantes du fichier .sln:

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

dans ceux-ci:

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

La ligne de commentaires doit être modifiée à mesure qu’elle est analysée par le chargeur de solution.

Cela peut fonctionner pour les lecteurs qui tentent de mettre à niveau un fichier de solution vers Visual Studio 2015. (J’ai mis à niveau une solution VS 2012.)

  1. Ouvrez la solution dans VS 2015.
  2. Ajoutez un nouveau projet à la solution. (J’ai ajouté un projet de test.)
  3. Supprimez le projet.
  4. Enregistrez la solution.

Vous souhaiterez peut-être supprimer le dossier de projet supprimé car l’étape 3 ne l’a pas supprimée.

Cela a fonctionné pour moi quand ni les réponses de zumey ni celles de TCC ne l’ont fait.

MODIFIER

Metro Schtroumpf avait une réponse similaire mais plus facile que la mienne pour une question similaire . Ses pas étaient:

  1. Solution ouverte dans VS 2015
  2. Clic droit sur la solution> Ajouter> Nouveau dossier de solution (le nom n’a pas d’importance)
  3. Enregistrer la solution
  4. Supprimer le nouveau dossier de solution ajouté
  5. Enregistrer la solution