2015-08-31 13 views
0

Привет Я только что создал приложение с таргетингом VS2003 .Net framework 1.1.Не удалось запустить приложение C#, построенное с помощью VS 2003

Я просто не могу запустить/запустить это приложение, как он не запускается .. Ниже ошибка я получаю:

enter image description here

Когда я выбираю «Нет» для отладки он бросает следующее исключение в консоли.

Unhandled Exception: System.TypeInitializationException: [Resource lookup failed 

- бесконечная рекурсия обнаружено. Имя ресурса: TypeInitialization_Type] ---> Sy stem.NullReferenceException: [Не удалось найти ресурс - обнаружено бесконечное рекурсирование ed. Название ресурса: Arg_NullReferenceException] на System.Resources.ResourceReader.StripVersionField (Строка TYPENAME) в System.Resources.ResourceReader.InitSafeToDeserializeArray() в System.Resources.ResourceReader.ReadResources() в System.Resources.ResourceReader..ctor (поток поток, Hashtable таблица) в System.Resources.RuntimeResourceSet..ctor (поток) поток в System.Resources.ResourceManager.CreateResourceSet (Stream магазин) на System.Resources.ResourceManager.InternalGetResourceSet (CultureInfo е КУЛЬТУРА, Boolean createIfNotExists, Boolean tryParents) в System.Resources.ResourceManager.GetString (название строки, CultureInfo cultur e) a т System.Environment.GetResourceString (ключ String) на System.Globalization.CultureInfo..ctor (Int32 культуры, булевой useUserOverr язя) в System.Globalization.CultureInfo..ctor (Int32 культура) в System.Globalization.CultureInfo ..cctor() [Поиск ресурса не удалось - обнаружена бесконечная рекурсия. Название ресурса: За исключением ion_EndOfInnerExceptionStack] в System.Globalization.CultureInfo.get_UserDefaultUICulture() в System.Threading.Thread.get_CurrentUICulture()

же приложение, если я построю с VS 2005 или любой другой версии он отлично работает , Я попытался переустановить VS2003 и версию Microsoft .NET версии 1.1, но это не поможет. Если я переименую папку C:\Windows\Microsoft.NET\Framework\v1.1.4322, тогда программа будет работать нормально (видимо, она возвращается к более высокой версии .Net Runtime).

Я не могу понять, что изменилось в системе, чтобы вызвать это и как исправить эту проблему. Все работало нормально до нескольких недель назад. Это 64-разрядная машина Win7.

+0

Вы не можете запустить приложение, ориентированное на старое время выполнения, если только эта среда не установлена ​​на компьютере. .NET 1.1 является ** очень ** старым, за исключением устаревших и не будет найден ни на одной машине, если вы не установите его. Версия Visual Studio не имеет ничего общего с этим –

+0

Почему * * * вы создавали приложение, используя VS 2003? .NET 1.1 больше не поддерживается, и все текущие версии Windows работают отлично с последними версиями времени исполнения. –

+0

Спасибо. Согласитесь, это довольно старый. Но у меня есть Framework 1.1, и приложение работает нормально до некоторого времени. – Prakash

ответ

1

Столбец вызовов исключений обнаруживает ошибку при попытке получить текущую культуру пользовательского интерфейса. Хотя в сообщении об ошибке упоминается бесконечная рекурсия, фактическое исключение представляет собой исключение NullReferenceException. Наиболее вероятная причина в том, что вы изменили культуру пользовательского интерфейса приложения, изменилась на культуру, которая не поддерживалась .NET 1.1.

По умолчанию пользовательский интерфейс соответствует OS и/или языку отображения пользователя, что означает, что вы, вероятно, недавно изменили язык отображения ОС.

Культура пользовательского интерфейса также может изменяться с помощью настроек конфигурации или программно.

+0

Это то, что вызывало проблемы для меня. Формат в моих региональных настройках был изменен на «Английский [Индия]». Я тоже посещал это в прошлом, но проигнорировал часть «[Индия]». Я только что проверил, что язык по-прежнему остается английским. В любом случае, я подтвердил это сейчас. Если я переключу формат обратно на «Английский [США]». Приложение консоли .my, и когда я переключу его на «Английский [Индия]», это не сработает. Обратите внимание, что мое консольное приложение - это просто приветственное приложение, которое делает Console.WriteLine («Hello World»). – Prakash