Pertanyaan Memaksa bahasa Inggris pengecualian dalam kerangka .NET


Saat bekerja dengan ASP.NET MVC, saya perhatikan bahwa pesan pengecualian yang dikeluarkan oleh .NET framework yang diinstal pada Sistem saya dalam bahasa Jerman. Saya lebih suka pesan bahasa Inggris, jadi saya bisa mempostingnya di SO.

Saya tahu ini telah ditanyakan sebelumnya pada SO, tetapi anehnya tidak ada solusi yang disarankan tampaknya bekerja dalam kasus saya. Saya sudah mencoba yang berikut:

  • beralih sistem Windows saya ke lokal bahasa Inggris dan memulai kembali Visual Studio
  • Pengaturan Alat -> Pilihan -> Lingkungan -> Pengaturan Internasional -> Bahasa ke "Bahasa Inggris"
  • mengatur lokal thread ke bahasa Inggris tepat sebelum pengecualian dilemparkan sebagai berikut:

    Thread.CurrentThread.CurrentCulture = CultureInfo.CreateSpecificCulture ("en-US"); Thread.CurrentThread.CurrentUICulture = new CultureInfo ("en-US");

    // panggil metode salahku ...

Jadi, bagaimana saya bisa membuat. NET framework mengeluarkan pesan pengecualian bahasa Inggris? Dan adakah pendekatan yang melakukan hal ini berdasarkan per-solusi atau bahkan sistem-basis?

Edit: Pengecualian dilemparkan saat mengeluarkan tes unit saya. Saya tidak yakin apakah ini alasan pengaturan budaya thread tidak berpengaruh.


32
2018-04-06 13:01


asal


Jawaban:


Ketika saya baru tahu, masalahnya memang terkait dengan memiliki proyek uji yang berbeda. Sementara saya telah mencoba pengaturan bahasa UI ke bahasa Inggris dalam proyek saya yang sebenarnya, saya tidak melakukan hal yang sama dalam proyek pengujian, itulah sebabnya pesan pengecualian masih dalam bahasa Jerman ketika melihat hasil tes.

Pengaturan bahasa UI dalam metode tes tepat sebelum pengecualian dilemparkan melakukan trik untuk saya.


9
2018-04-09 13:05



Copot pemasangan paket bahasa Jerman:

Mulai - Panel Kontrol - Program dan Fungsi - Microsoft .NET Framework (4 Profil Klien) Paket Bahasa DEU - Hapus Instalasi (Deinstallieren)

Anda mungkin perlu mengulangi pencopotan pemasangan untuk setiap versi .NET Framework yang Anda temukan di sana.


9
2017-11-04 08:40



Sudahkah Anda mencoba mengatur budaya UI ke "en" di web.config? Info lebih lanjut sini.


7
2018-04-06 17:15



Rupanya semua pesan pengecualian kerangka terikat ke bahasa OS yang diinstal. Jadi kecuali Anda menginstal versi bahasa Inggris dari Windows. Kerangka kerja Net framework tidak akan muncul dalam bahasa Inggris. Meskipun kelihatannya aneh bahwa pengaturan CurrentUICulture untuk "en-US" tidak membantu, saya menggunakan semacam solusi hack untuk memiliki pesan bahasa Inggris di OS Windows Belanda.


3
2018-04-07 18:45



Sebenarnya tidak ada solusi yang bagus untuk ini, pilih Connect untuk pendekatan ini

https://connect.microsoft.com/VisualStudio/feedback/details/591839/exception-localization-in-app-config-and-web-config


2
2017-08-31 12:02



Saya sudah mencoba perubahan berikut di web.config dan itu membantu:

<system.web>
    <globalization uiCulture="en-US" culture="en-US" />
...

2
2017-11-10 23:31



Sudahkah Anda mencoba menukar budaya segera sebelum membaca teks pengecualian? Mungkin lokalisasi terjadi ketika Anda mengakses pesan - sebagai lawan ketika objek pengecualian dibuat.


1
2018-04-06 13:11