J’ai décidé de consacrer une partie de la journée pour migrer le développement en cours d’un client sous Visual Studio 2010. Ceci suite au dernier billet de Sami Jabber sur le blog de DNG Consulting. Ce n’est pas sans une certaine inquiétude que j’ai lancé le processus de conversion de ma solution mais cette opération s’est parfaitement déroulée.
Un nouveau moment d’appréhension s’est produit en téléchargeant le composant Crystal Reports for Visual Studio 2010 qui n’a pas montré au final de problèmes particuliers.
La première exécution du build s’est déroulée sans encombre mais j’ai déchanté lorsque j’ai continué à adapter mon code car une erreur de compilation est alors apparue. Il s’agit d’un bug remonté récemment par Microsoft (cf lien) qui est lié aux différences du générateur de ressources (RESGEN.EXE) entre VS2008 et VS2010 qui peu poser des problèmes pour les générations de builds destinées au .net 3.5 en 64 bits.
Bref, la solution appliquée pour ma part a été de forcer l’éxécution de ResGen.exe en 32 bits :
1. Cd « %ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin »
2. Corflags /32Bit+ /Force ResGen.exe
Puis de modifier manuellement le fichier de configuration du projet (*.CSPROJ) pour rajouter l’entrée <ResGenToolArchitecture>Managed32Bit</ResGenToolArchitecture> dans les différentes balises PropertyGroup.
Depuis, cela fonctionne correctement et VS2010 est effectivement un IDE très confortable à l’usage.