У меня есть приложение .NET (VB.NET), которое отлично работает, пока кто-то из Германии не попробовал его.Как заставить язык приложения .NET?
Я вижу, что проблема заключается в том, что проблема заключается в перехвате исключений с помощью исключения try catch и разбора строки исключения.
Это прекрасно работает, когда приложение находится на английском языке, но не работает на каком-либо другом языке (очевидно, но я никогда не думал, что он будет иметь такое глобальное использование).
Так что вместо перезаписи всей моей обработки ошибок (с чего начать!) Есть способ заставить приложение .net использовать en-us?
Также каковы плохие последствия этого?
Дальнейшее расширение, поскольку это обозначено как дубликат. Я начинаю нить, которая начинается с
Thread.CurrentThread.CurrentUICulture = New CultureInfo("en-us")
Это работает, за исключением, когда он достигает этой части нити
Dim client As WebClient = New WebClient()
Try
client.DownloadFile(url, tempName)
Catch ex As Exception
!!Ex is still giving the string in German rather than en-us
End Try
также при информации Ассамблеи он показывает «Английский (США)», как Нейтральный язык.
У меня вопрос расширен. Язык, похоже, возвращается к умолчанию для исключений webclient.downloadfile. – JohnFrendras
Ваш вопрос либо специфичен для C# _or_ VB.NET, либо не является специфическим для любого. Пожалуйста, решите. У вас должен быть только один из этих языковых тегов. Что касается самого вопроса, я сомневаюсь в мудрости разбора текста исключения. Тем не менее, похоже, что вы устанавливаете 'CurrentUICulture', что я не ожидал бы повлиять на исключения. Вы пытались установить «CurrentCulture» вместо этого? Пожалуйста, предоставьте хороший [mcve], который надежно воспроизводит вашу проблему. –
Если OP может управлять C#, то он может иметь оба тега. Остановите такие необоснованные «запрещающие» права людей, пожалуйста, потому что большая часть программистов .Net может управлять и принимать решение как для Vb.Net, так и для C#. – ElektroStudios