Question

Supposons qu'une solution ne contienne que des classes et que ces classes sont toutes écrites dans les spécifications .NET 2.0. Si cette solution devait être ouverte, convertie et enregistrée dans Visual Studio 2008, serait-il possible de rouvrir la solution ultérieurement dans Visual Studio 2005 avec quelques modifications minimales au fichier .SLN?

Comment peut-on s'y prendre?

Existe-t-il un outil permettant de "convertir vers le bas"? Fichiers .SLN de 2008 à 2005 si toutes les classes contenues dans la solution sont déjà écrites dans les spécifications .NET 2.0?

Était-ce utile?

La solution

Habituellement, la seule chose à faire avec les fichiers .SLN est de changer le numéro de version en haut du fichier.

Vos fichiers de projet CS seront également presque corrects. S'ils ne le sont pas, il est possible de les modifier pour qu'ils soient corrects pour 2005 et 2008.

Nous avons fonctionné pendant un moment avec deux fichiers de solution (05 et 08) partageant le même ensemble de fichiers de projet CS.

Sachez toutefois que vous ne pouvez pas partager les fichiers de projet VC entre les deux versions, comme ceci.

Le "réglage" des fichiers de projet est le suivant:

Les projets CS créés sur VS2008 contiendront la ligne suivante:

<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />

VS2005 va s’étouffer et vous devez le modifier comme suit:

<Import Project="$(MSBuildBinPath)\Microsoft.CSharp.targets" />

Ce dernier fonctionnera en 2005 et 2008.

Autres conseils

Si vous n'utilisez pas de "fantaisie" En 2008, selon mon expérience, la seule chose qui change est le numéro de version dans quelques endroits. Cela peut être édité manuellement (en haut du fichier IIRC). Cela vaut au moins la peine d'essayer. Si vous utilisez des fonctionnalités spécifiques à VS2008 (concepteurs, etc.), il se peut que cela ne fonctionne pas, mais pour de simples bibliothèques de classes, cette opération a été couronnée de succès.

Vous pouvez être intéressé par un billet de blog sur la coexistence de VS2005 et VS2008 que j'ai écrit il y a quelque temps.

Il existe un convertisseur http://www.emmet-gray.com/ Articles / ProjectConverter.htm (fonctionne également avec VS 2010).

Il existe également http://www.dsmyth.net/wiki/Downloads_VS2008ToVS2005Patcher.ashx
(lien cassé actuellement?).

J'ai également trouvé cette http://www.codeplex.com/Vs2008BackMigration , mais je ne l'ai pas ". t le tester.

Oui, cela est possible si vous effectuez un "déclassement". les fichiers de solution.

Non, je ne connais aucun outil de ce type, et j'ai jeté un coup d'œil.

Vous avez trois options:

  1. N'ouvrez pas le fichier de solution en 2008 et ne le mettez donc jamais à jour
  2. Ne mélangez pas les versions du client avec les mêmes fichiers (c.-à-d. respectez la version 2005 ou la mise à niveau de tous)
  3. Conservez des fichiers de solution distincts pour 2005 et 2008, assurez-vous que les mêmes projets sont présents dans les deux

Merci à @Will Dean de m'avoir rappelé que les fichiers de projet peuvent effectivement être partagés. Notez qu’ils sont touchés par l’éditeur 2008, mais qu’ils pourront être ouverts en 2005 par la suite.

Vous pouvez essayer ceci. YMMV

http://www.emmet-gray.com/Articles/ProjectConverter.htm

Je me souviens qu'il avait été posté sur le blog de Jon Skeets il y a quelques mois et semblait avoir été approuvé par les gens

Il n'y a pas de moyen direct, et c'est une tâche difficile si vous essayez. Le moyen le plus simple serait de créer un nouveau projet 2005 et d’ajouter vos classes.

Pour commencer, voici les différences que vous verriez:

Fichiers .csproj: (ils sont basés sur le schéma MSBuild)

(modifier) ??

  • ToolsVersion
  • ProductVersion
  • ProjectVersion

(supprimer)

  • OldToolsVersion
  • TargetFramework

Fichiers .sln: (pas de schéma)

  • Format Version 10.0

etc.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top