2009-03-02 4 views
10

Nelle versioni precedenti di VS.NET o .NET framework, per impostazione predefinita si sono ottenuti messaggi di eccezione in inglese. Se hai installato un 'Language Pack', hai ricevuto messaggi di eccezione nella lingua di quel language pack.Visual Studio.NET 2008 non mi fornisce messaggi di eccezione in inglese

Ora, sto lavorando con un inglese VS.NET 2008 (nessun language pack è stato installato) su un Windows Vista olandese.

Quando sto sviluppando e scrivo codice che fa scattare un'eccezione, il messaggio di eccezione che ricevo è in olandese (la lingua del mio sistema operativo). Non voglio che sia in olandese; Voglio che sia in inglese. (Le ragioni sono ovvie: più facile per Google, e quelli che traducono i messaggi di errore sono cazzate).

In VS.NET, le mie impostazioni internazionali sono impostate su "Inglese", in Windows Vista, le mie impostazioni internazionali sono impostate su "Olandese/Belgio". Come posso ottenere messaggi di eccezione in inglese, senza dover modificare nulla nelle impostazioni internazionali in Windows?

+0

Domande molto buone, continua a succedere anche a me. Ed è molto più difficile cercare le risposte !! –

+0

Grazie per aver chiesto questa domanda! Ho avuto lo stesso problema e le traduzioni dei messaggi di errore olandesi sono orribili. Solo su una nota a margine, penso sia ridicolo che non si possa semplicemente cambiare Windows Vista in un'altra lingua senza acquistare la versione più costosa (è ancora peggio quando si usa Windows Mobile, perché la maggior parte dei negozi vendono solo le versioni olandesi). –

risposta

8

Dopo aver cercato su Stackoverflow e altri siti sulla rete, sembra che Windows Vista decida quali pacchetti di lingua debbano essere installati, e non sembra esserci alcun modo per disinstallare quei pacchetti di lingue (in XP questo era possibile) .

Non ho Vista Ultimate (che consente di installare più Language Pack parallelamente).

Quindi, quello che ho fatto oggi, è questa:

Ho creato un simbolo di compilazione condizionale personalizzato (DEVELOPER), e nella mia richiesta, ho questo codice:

#if DEVELOPER 

Thread.CurrentThread.CurrentUICulture = CultureInfo.GetCultureInfo("en-us"); 

#endif 

Devo solo assicurarmi che, quando creo la mia applicazione per la distribuzione, non includo questa definizione condizionale ... (Ma, posso farlo facilmente, dato che la mia applicazione è in CI).

+0

hmm sai che questo potrebbe solo risolvere un problema che ho avuto anch'io, grazie per aver postato questo :) – RYFN

-1

È (molto probabilmente) perché è installato un NetFX olandese.

+0

per quanto ne so, non esiste nessun olandese localizzato DotNetFx. Solo per essere sicuri: sai come posso verificare se ho un olandese o uno inglese? –

0

Thread.CurrentThread.CurrentUICulture si basa sulla lingua del sistema operativo installato. Quindi l'installazione di una versione inglese del tuo sistema operativo è la tua unica opzione.

O come hai affermato impostando Thread.CurrentThread.CurrentUICulture su "en-Us" all'interno di ogni applicazione che codesti programmi mi sembra abbastanza "scomodo".

+0

È davvero imbarazzante, e nient'altro che una soluzione alternativa. La reinstallazione del mio sistema operativo non è possibile. –

0

esistono linguaggi disponibili per .Net Framework per quasi tutte le lingue.

Dai un'occhiata a ciò che trovi nel software installato e disinstalla questo language pack. Ciò causerà che il VS2008 porterà messaggi di errore, ecc. In inglese.

+0

AFAIK, questo era vero per le versioni precedenti di .NET. Controlla la mia domanda, dove ho menzionato questo. –