0

Est-ce que quelqu'un sait s'il existe un plugin pour Visual Studio 2008 qui permet d'ouvrir les solutions VS2005 de manière non destructive? Qu'est-ce que je pense est que le fichier projet converti est conservé en mémoire plutôt que de remplacer l'original sur le disque, et .Net framework 2.0 serait ciblée par défaut?Visual Studio plugin pour permettre l'ouverture des solutions 2005 avec 2008?

Le comportement actuel nécessite un processus de conversion complexe qui détruit le fichier de solution d'origine et aboutit à un projet ciblant la nouvelle infrastructure. Je veux quelque chose qui permettrait aux développeurs utilisant encore 2005 de continuer à travailler sur le projet.

Répondre

4

La façon dont j'ai vu cela géré dans les projets open source est de créer un fichier de solution pour chaque version de VS. Puisque les fichiers de projet (csproj, vbproj, etc.) sont compatibles entre les versions, vous n'avez pas besoin de versions séparées de ceux-ci.

+0

Dans ce cas, connaissez-vous un utilitaire qui, étant donné une solution vs2005, peut créer une solution équivalente vs2008 qui cible toujours .Net 2.0? –

+0

Par défaut, Visual Studio 2008 ouvre une solution 2005 et l'enregistre au format 2008 sans modifier la cible de la version CLR. Vous devez spécifier manuellement .NET 3.5, cela ne se fait pas automatiquement. –

2

Il vous suffit d'ouvrir votre projet 2005 en 2008 et de le mettre à niveau votre solution/vos projets. Vous pouvez obtenir une boîte de dialogue vous demandant de mettre à jour les versions CLR, dites non. Une fois que vous avez une solution de travail 2008, copiez le fichier * .sln sous un autre nom (j'appelle ma copie * .2005.sln), ouvrez le fichier * .sln copié dans le bloc-notes ou votre éditeur de texte favori . Recherchez "Format Version 10.0" sur la deuxième ligne et passez à "Format Version 9.0". Enregistrez le fichier.

C'est, votre fichier de solution mis à jour fonctionne dans VS 2008, et celui que vous avez copié et changé œuvres dans VS 2005.

Il y a une étape supplémentaire si vous avez des projets d'application Web. Dans le dossier de vbproj ou csproj application Web, trouvez la ligne:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="" /> 

et remplacer cette ligne avec ces deux:

<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v8.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '8.0'" /> 
<Import Project="$(MSBuildExtensionsPath)\Microsoft\VisualStudio\v9.0\WebApplications\Microsoft.WebApplications.targets" Condition="'$(Solutions.VSVersion)' == '9.0'" /> 

Ces deux lignes choisiront conditionnellement le chemin MSBuild correcte en fonction de la version de VS utilisée.

Questions connexes