无法 运行 使用 VS 2003 构建的 C# 应用程序

Not able to run C# application built with VS 2003

您好,我刚刚使用 VS2003 创建了一个针对 .Net Framework 1.1 的应用程序。

我不能run/launch这个应用程序,因为它无法启动..以下是我得到的错误:

当我 select "No" 进行调试时,它在控制台中抛出以下异常。

Unhandled Exception: System.TypeInitializationException: [Resource lookup failed

- infinite recursion detected. Resource name: TypeInitialization_Type] ---> Sy stem.NullReferenceException: [Resource lookup failed - infinite recursion detect ed. Resource name: Arg_NullReferenceException] at System.Resources.ResourceReader.StripVersionField(String typeName) at System.Resources.ResourceReader.InitSafeToDeserializeArray() at System.Resources.ResourceReader.ReadResources() at System.Resources.ResourceReader..ctor(Stream stream, Hashtable table) at System.Resources.RuntimeResourceSet..ctor(Stream stream) at System.Resources.ResourceManager.CreateResourceSet(Stream store) at System.Resources.ResourceManager.InternalGetResourceSet(CultureInfo cultur e, Boolean createIfNotExists, Boolean tryParents) at System.Resources.ResourceManager.GetString(String name, CultureInfo cultur e) at System.Environment.GetResourceString(String key) at System.Globalization.CultureInfo..ctor(Int32 culture, Boolean useUserOverr ide) at System.Globalization.CultureInfo..ctor(Int32 culture) at System.Globalization.CultureInfo..cctor() [Resource lookup failed - infinite recursion detected. Resource name: Except ion_EndOfInnerExceptionStack] at System.Globalization.CultureInfo.get_UserDefaultUICulture() at System.Threading.Thread.get_CurrentUICulture()

相同的应用程序,如果我使用 VS 2005 或任何其他版本构建它工作正常。 我试图重新安装 VS2003 和 Microsoft .NET 1.1 版,但没有帮助。如果我重命名文件夹 C:\Windows\Microsoft.NET\Framework\v1.1.4322 然后程序运行正常(显然它回退到更高版本的.Net Runtime)。

我无法弄清楚系统中发生了什么变化来触发此问题以及如何解决此问题。直到几周前,一切都运行良好。这是Win7 64位机器。

异常调用堆栈显示当您尝试检索当前 UI 文化时发生错误。虽然错误消息提到无限递归,但实际异常是 NullReferenceException。最可能的原因是您更改了应用程序的区域性 UI 已更改为 .NET 1.1 不支持的区域性。

UI文化默认匹配OSand/or用户的显示语言,这意味着您最近可能更改了OS显示语言。

UI 区域性也可以通过配置设置或以编程方式更改。