Domanda

Ok, sono in un mondo di dolore in questo momento.

Ci era sviluppato con VS2008 (VB.NET, per lo più WinForms, anche servizi ASP.NET e Windows) a Win7 x64, con requisiti specifici (che non possiamo sbarazzarci di ancora), a 86 target e quadro 3.5.

Recentemente abbiamo aggiornato a VS2010, e ben presto, è caduto fallo di questo Resgen.exe problema di incompatibilità . In sostanza, non si può compilare l'app WinForms a tutti con VS2010. Nessuna delle soluzioni suggerite da Microsoft o altri hanno lavorato per me o l'altro membro della mia squadra.

Quindi, abbiamo cercato di tornare a VS2008 utilizzando la tecnica descritta qui (cioè mod il file di soluzione), e anche con la creazione di un nuovo marchio soluzione di VS2008, e aggiungendo i progetti ad esso. Questo raffinato sembrava per un breve periodo, ma ora scopriamo che durante il debug dell'applicazione, le eccezioni non gestite non rientrano nel IDE, il che rende praticamente impossibile lo sviluppo.

Una nuova applicazione di test brand creato con VS2008 (compilato per x86 e .NET 3.5) non presenta il difetto di eccezioni di cattura.

Ho dovuto ricorrere a sviluppare su VS2010 su un Win7 (32 bit) VM all'interno del computer principale, per ora, e lo fa di lavoro ... ma è slowwwwwwww!

Tutte le idee per una via d'uscita di questo riconoscente sarebbe apprezzato !!

Aggiorna :

Ok, quindi non è una soluzione reale, ma come una soluzione non è un completo disastro ...

Grazie a Noè per il suo commento, che mi hanno spinto a esplorare le varie soluzioni di virtualizzazione in giro. Ora ho scoperto (probabilmente l'ultima persona qui!) VirtualBox . Non solo è un bel po 'trasandato in uso di VMWare Player e le varie incarnazioni di Microsoft / Windows Virtual PC, ma ha anche modalità seamless , in cui le applicazioni in esecuzione sulla macchina virtuale appaiono come finestre separate nell'ospite. Così ora ho un ospite x86 in esecuzione VS2010, compilare per x86 e Framework 3.5. Dal momento che non c'è alcun conflitto x64 / x86 nel guest, non c'è nessun problema Resgen.exe, e il mio dev ENVT solo appare come una finestra sul mio desktop host. E 'ancora più lento di esecuzione in modo nativo sarebbe, ma posso vivere con esso per ora.

sarebbe ancora apprezzare alcuna soluzione reale (o, in mancanza, una correzione da Microsoft !!)

È stato utile?

Soluzione

Beh ci ho rinunciato.

VirtualBox era Ok per un po ', ma la lentezza del VM era fastidioso, e per sempre dover gestire lo spostamento roba tra l'host e guest mi stava facendo impazzire.

Così ho ricostruito l'intera macchina con Windows 7 x86.

Completamente disgustato con apparente indifferenza di Microsoft per il problema, ma credo che io non sono il primo a sentire che.

Altri suggerimenti

Si può solo fare Fai Resgen.exe a 32 bit:  1. Cd “% ProgramFiles (x86)% \ Microsoft SDK \ Windows \ v7.0A \ Bin”  2. Corflags / 32Bit + / Forza Resgen.exe

Salva il tuo Resgen.exe precedente prima di questo cambiamento.

Dopo questa modifica si avrebbe bisogno di modificare tutti i vostri progetti di dire Resgen per l'esecuzione in modalità 32bitmanaged

  1. L'aggiunta di Managed32Bit ad un PropertyGroup nel file di progetto di qualsiasi progetto che genera le risorse destinate NET 3.5 - dal momento che la corflags trucco influenza il numero di bit di Resgen.exe a livello a livello di sistema, la proprietà deve essere impostato per tutti i progetti interessati pure.

  2. O Se in esecuzione MSBuild.exe direttamente, passando con l'interruttore proprietà globale: ‘/ p: ResGenToolArchitecture = Managed32Bit’

La soluzione è pubblicato su http://tune-up-pc.com/ blog /? p = 10790

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top