Question

Ok, je suis dans un monde de douleur pour le moment.

Nous développions avec VS2008 (VB.NET, pour la plupart WinForms, aussi ASP.NET et les services Windows) sur Win7 x64, avec des exigences spécifiques (que l'on ne peut pas se débarrasser de encore), à la cible x86 et framework 3.5.

Nous avons récemment mis à niveau vers VS2010, et très bientôt, est tombé sous le coup de cette ResGen.exe problème d'incompatibilité.Fondamentalement, on ne peut pas compiler l'application WinForms avec VS2010.Aucune des solutions proposé par Microsoft ou d'autres ont travaillé pour moi-même ou les autres membres de mon équipe.

Nous avons donc tenté de revenir à VS2008 à l'aide de la technique décrite ici (c'est à dire pirater le fichier de solution), et également par la création d'une nouvelle marque de VS2008 solution, et en ajoutant les projets pour elle.Cela semble très bien pour un court laps de temps, mais maintenant nous découvrons que lors du débogage de l'application, les exceptions non gérées ne sont pas pris dans l'IDE, ce qui rend le développement pratiquement impossible.

Une marque nouvelle application de test créé avec VS2008 (compilé pour x86 et .NET 3.5) ne présentent pas de cet échec pour intercepter des exceptions.

J'ai eu recours à développer sur VS2010 sur un Win7 (32 bits) VM à l'intérieur de l'ordinateur principal pour l'instant, et il fonctionne...mais c'est slowwwwwwww!

Des idées pour un moyen de sortir de ce serait grandement appréciée!!

Mise à jour:

Ok, donc ce n'est pas une solution réelle, mais comme une solution de contournement, il n'est pas un désastre complet...

Merci à Noé pour son commentaire, qui m'a incité à explorer les différentes solutions de virtualisation autour.Maintenant, j'ai découvert (probablement la dernière personne ici!) VirtualBox.Non seulement est-il un peu plus lisse à l'usage d' VMWare Player et les différentes incarnations de Microsoft/Windows Virtual PC, il a également Mode transparent, où les applications s'exécutant sur la machine virtuelle apparaissent comme des fenêtres séparées dans l'hôte.Donc, j'ai maintenant un x86 guest en cours d'exécution VS2010, la compilation pour les architectures x86 et Framework 3.5.Car il n'y a pas de x64/x86 conflit dans l'invité, il n'y a pas Resgen.exe problème, et mon dev envt apparaît comme une fenêtre sur ma machine de bureau.C'est encore plus lent que de l'exécuter en mode natif, mais je peux vivre avec ça pour le moment.

Serait tout de même apprécier toutes les solutions (ou, à défaut, un correctif de Microsoft!!)

Était-ce utile?

La solution

Bien j'ai abandonné.

VirtualBox est Ok pour un certain temps, mais la lenteur de la machine virtuelle a été ennuyeux, et de toujours avoir à gérer le déplacement des trucs entre l'hôte et l'invité a été me rend fou.

J'ai donc reconstruit l'ensemble de la machine avec Windows 7 x86.

Complètement dégoûté de Microsoft dans l'apparente indifférence au problème, mais je suppose que je ne suis pas la première à sentir que.

Autres conseils

Vous pouvez simplement faire Faire ResGen.exe 32-bits par:1.Cd “%ProgramFiles(x86)%\Microsoft SDKs\Windows\v7.0A\Bin” 2.Corflags /32Bit+ /Force ResGen.exe

Enregistrer votre précédente resgen.exe avant ce changement.

Après ce changement, vous devrez modifier tous vos projets à dire Resgen pour s'exécuter en mode 32bitmanaged

  1. L'ajout de Managed32Bit à un PropertyGroup dans le fichier de projet de projet qui génère des ressources de ciblage .NET 3.5 – depuis le corflags truc affecte le nombre de bits de ResGen.exe sur l'échelle du système, la propriété doit être définie pour tous les projets affectés ainsi.

  2. OU Si l'exécution de MSBuild.exe directement, en passant à l'aide de la propriété globale de l'interrupteur:‘/p:ResGenToolArchitecture=Managed32Bit’

La solution est affichée à l' http://tune-up-pc.com/blog/?p=10790

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