2

Ok, je suis dans un monde de douleur en ce moment. Nous avions développé avec VS2008 (VB.NET, principalement WinForms, aussi ASP.NET et services Windows) sur Win7 x64, avec des exigences spécifiques (dont nous ne pouvons pas encore nous débarrasser), pour cibler x86 et cadre 3.5.Comment réparer VS2008 et VS2010 dev sur Win7 x64

Nous avons récemment mis à niveau vers VS2010, et très bientôt, est tombé en faute de this ResGen.exe incompatibility issue. Fondamentalement, nous ne pouvons pas compiler l'application WinForms avec VS2010. Aucune des solutions de contournement suggérées par Microsoft ou d'autres n'ont fonctionné pour moi-même ou pour l'autre membre de mon équipe. Nous avons donc tenté de revenir à VS2008 en utilisant la technique décrite here (c'est-à-dire pirater le fichier de solution), et aussi en créant une toute nouvelle solution VS2008, et en y ajoutant les projets. Cela a semblé bien pour un moment, mais maintenant nous découvrons que lors du débogage de l'application, les exceptions non gérées ne sont pas capturées dans l'EDI, ce qui rend le développement pratiquement impossible.

Une toute nouvelle application de test créée avec VS2008 (compilé pour x86 et .NET 3.5) ne présente pas cet échec pour détecter les exceptions.

J'ai dû recourir au développement sur VS2010 sur une machine virtuelle Win7 (32 bits) dans l'ordinateur principal pour l'instant, et ça marche ... mais c'est lentwwww!

Toutes les idées pour s'en sortir seraient grandement appréciées !!

Mise à jour:

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

Merci à Noé pour son commentaire, ce qui m'a incité à explorer la diverses solutions de virtualisation autour. J'ai maintenant découvert (probablement la dernière personne ici!) VirtualBox. Non seulement il est un peu plus utilisé que VMWare Player et les différentes versions de Microsoft/Windows Virtual PC, il a également Seamless mode, où les applications exécutées sur la machine virtuelle apparaissent comme des fenêtres distinctes dans l'hôte. J'ai maintenant un invité x86 exécutant VS2010, compilant pour x86 et Framework 3.5. Comme il n'y a pas de conflit x64/x86 dans l'invité, il n'y a pas de problème Resgen.exe, et mon dev devt apparaît comme une fenêtre sur mon bureau hôte. C'est encore plus lent que de le faire nativement, mais je peux vivre avec pour l'instant.

serait encore apprécier des solutions réelles (ou, à défaut, une solution de Microsoft !!)

+0

Il est pas résoudre votre problème, mais il y a quelques petites choses que vous pouvez essayer de faire VS2010 plus rapide sur une machine virtuelle. Dans Outils-> Options-> Environnement-> Général, assurez-vous que "Activer l'expérience visuelle du client enrichi" et "Utiliser l'accélération matérielle graphique si disponible" sont désactivés. –

+0

@Noah: Merci - voir ma mise à jour. – ChrisA

Répondre

0

Eh bien j'ai abandonné.

VirtualBox était OK pendant un moment, mais la lenteur de la machine virtuelle était ennuyante, et pour toujours avoir à gérer des trucs en mouvement entre l'hôte et l'invité me rendait fou.

J'ai donc reconstruit toute la machine avec Windows 7 x86. Complètement dégoûté de l'apparente indifférence de Microsoft au problème, mais je suppose que je ne suis pas le premier à le ressentir.

0

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

Enregistrez votre précédent resgen.exe avant cette modification.

Après ce changement, vous devrez modifier tous vos projets dire Resgen pour fonctionner en mode 32bitmanaged

  1. Ajout Managed32Bit à un PropertyGroup dans le dossier du projet de tout projet qui génère le ciblage des ressources .NET 3.5 - Puisque l'astuce corflags affecte la qualité de ResGen.exe au niveau du système, la propriété doit également être définie pour tous les projets concernés.

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

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

+0

Eh bien oui. Deux d'entre nous ont tenté (indépendamment) de mettre en œuvre cette solution de contournement, documentée à plusieurs endroits. Cela ne semblait pas fonctionner pour nous deux. Je n'exclus pas la possibilité que nous ayons fait quelque chose de mal, mais comme vous le voyez dans ma (non) réponse, je suis revenu à Win7 x86 maintenant. Merci bien. J'aimerais revenir à x64 un jour, alors peut-être que je vais essayer la solution avec une machine virtuelle. – ChrisA

+0

Eh bien..je suis tombé sur le même problème et cette solution a fonctionné pour moi depuis – ssingh3

Questions connexes