2009-03-02 8 views
10

En versiones anteriores de VS.NET o .NET framework, recibes mensajes de excepción en inglés por defecto. Si instaló un 'paquete de idioma', recibió mensajes de excepción en el idioma de ese paquete de idioma.Visual Studio.NET 2008 no me da mensajes de excepción en inglés

Ahora, estoy trabajando con un VS.NET 2008 en inglés (no se han instalado paquetes de idioma) en un Windows Vista holandés.

Cuando estoy desarrollando y escribo algún código que desencadena una excepción, el mensaje de excepción que recibo está en holandés (el idioma de mi SO). No quiero que esté en holandés; Quiero que esté en inglés. (Las razones son obvias: más fácil para Google, y los mensajes de error traducidos son basura).

En VS.NET, mi configuración internacional está configurada en 'Inglés', en Windows Vista, mi configuración regional está configurada en 'Holandés/Bélgica'. ¿Cómo puedo obtener mensajes de excepción en inglés, sin tener que cambiar nada a mi configuración regional en Windows?

+0

Muy buenas preguntas, me sigue sucediendo a mí también. ¡Y es mucho más difícil buscar respuestas! –

+0

¡Gracias por hacer esta pregunta! Tuve el mismo problema y las traducciones de los mensajes de error holandeses son horribles. Por un lado, creo que es ridículo que no puedas cambiar Windows Vista a otro idioma sin comprar la versión más cara (es aún peor cuando utilizas Windows Mobile, porque la mayoría de las tiendas solo venden las versiones holandesas). –

Respuesta

8

Después de buscar en Stackoverflow y otros sitios en la red, parece que Windows Vista decide qué paquetes de idiomas deben instalarse, y parece que no hay forma de desinstalar esos paquetes de idiomas (en XP esto era posible) .

No tengo Vista Ultimate (que le permita instalar múltiples paquetes de idiomas uno al lado del otro).

Por lo tanto, lo que he hecho ahora, es la siguiente:

He creado un símbolo de compilación condicional personalizado (desarrollador), y en mi solicitud, no tengo este código:

#if DEVELOPER 

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

#endif 

Solo necesito asegurarme de que cuando construyo mi aplicación para implementación, no incluya esta definición condicional ... (Pero puedo hacerlo fácilmente, ya que mi aplicación está bajo CI).

+0

hmm, usted sabe que esto también puede solucionar un problema que tuve, gracias por publicar esto :) – RYFN

-1

Es (muy probablemente) porque tiene instalado un NetFX holandés.

+0

hasta donde yo sé, no existe DotNetFx holandés localizado. Solo para estar seguro: ¿conoces una manera de cómo puedo verificar si tengo una holandesa o una inglesa? –

0

Thread.CurrentThread.CurrentUICulture se basa en el idioma de su sistema operativo instalado. Por lo tanto, la única opción es instalar una versión en inglés de su sistema operativo.

O, como usted, declaró la configuración de Thread.CurrentThread.CurrentUICulture en "en-Us" dentro de cada aplicación que codifique, lo que me parece bastante "bastante incómodo".

+0

De hecho, es incómodo, y nada más que una solución. Volver a instalar mi sistema operativo no es una opción. –

0

hay paquetes de idiomas disponibles para .Net Framework para casi todos los idiomas.

Eche un vistazo a lo que se encuentra en el software instalado y desinstale este paquete de idiomas. Esto hará que el VS2008 traiga mensajes de error, etc. en inglés.

+0

AFAIK, esto era cierto para las versiones anteriores de .NET. Consulte mi pregunta, donde he mencionado esto. –

Cuestiones relacionadas