2015-08-31 3 views
0

Salut Je viens de créer une application avec VS2003 ciblant framework .Net 1.1.Impossible d'exécuter l'application C# construite avec VS 2003

Je ne peux pas exécuter/lancer cette application car elle ne démarre pas .. suivante est l'erreur que je reçois:

enter image description here

Lorsque je sélectionne « Non » pour le débogage, il lance l'exception suivante dans la console.

Unhandled Exception: System.TypeInitializationException: [Resource lookup failed 

- détectée récursion infinie. Nom de la ressource: TypeInitialization_Type] ---> Sy stem.NullReferenceException: [La recherche de ressources a échoué - la détection de la récursivité infinie ed. Nom de la ressource: Arg_NullReferenceException] à System.Resources.ResourceReader.StripVersionField (String typeName) à System.Resources.ResourceReader.InitSafeToDeserializeArray() à System.Resources.ResourceReader.ReadResources() à System.Resources.ResourceReader..ctor (courant de flux, une table Hashtable) à System.Resources.RuntimeResourceSet..ctor (stream stream) à System.Resources.ResourceManager.CreateResourceSet (magasin stream) à System.Resources.ResourceManager.InternalGetResourceSet (CultureInfo cultur e , Boolean createIfNotExists, TryParents booléens) à System.Resources.ResourceManager.GetString (nom de la chaîne, CultureInfo cultur e) a t System.Environment.GetResourceString (touche String) à System.Globalization.CultureInfo..ctor (culture Int32, Boolean ide useUserOverr ) à System.Globalization.CultureInfo..ctor (culture Int32) à System.Globalization.CultureInfo ..cctor() [La recherche de ressources a échoué - la récursion infinie a été détectée. Nom de la ressource: Sauf ion_EndOfInnerExceptionStack] à System.Globalization.CultureInfo.get_UserDefaultUICulture() à System.Threading.Thread.get_CurrentUICulture()

Même application si je construis avec VS 2005 ou toute autre version, il fonctionne très bien . J'ai essayé de réinstaller VS2003 et Microsoft .NET version 1.1 mais cela n'aide pas. Si je renommer le dossier C:\Windows\Microsoft.NET\Framework\v1.1.4322 Ensuite, le programme fonctionne bien (apparemment, il revient à la version supérieure de .Net Runtime).

Je ne suis pas capable de comprendre ce qui a changé dans le système pour déclencher cela et comment résoudre ce problème. Les choses fonctionnaient bien jusqu'à il y a quelques semaines. C'est Win7 64 bit machine.

+0

Vous ne pouvez pas exécuter une application ciblant un ancien moteur d'exécution, sauf si ce moteur d'exécution est installé sur la machine. .NET 1.1 est ** très ** vieux, bien au-delà obsolète et ne sera pas trouvé sur une machine à moins que vous l'installiez. La version de Visual Studio n'a rien à voir avec cela. –

+0

Pourquoi avez-vous * créé * une application utilisant VS 2003 de toute façon? .NET 1.1 n'est plus supporté et toutes les versions actuelles de Windows fonctionnent parfaitement avec les dernières versions d'exécution –

+0

Merci. D'accord, c'est assez vieux. Mais j'ai installé Framework 1.1 et l'application fonctionnait bien jusqu'à il y a quelque temps. – Prakash

Répondre

1

La pile d'appel d'exception indique qu'une erreur se produit lorsque vous tentez de récupérer la culture d'interface utilisateur actuelle. Alors que le message d'erreur mentionne une récursion infinie, l'exception réelle est une exception NullReferenceException. La raison la plus probable est que vous avez modifié la culture de l'interface utilisateur de l'application pour qu'elle devienne une culture non prise en charge par .NET 1.1.

La culture d'interface utilisateur correspond au langage d'affichage du système d'exploitation et/ou de l'utilisateur par défaut, ce qui signifie que vous avez probablement modifié la langue d'affichage du système d'exploitation récemment.

La culture de l'interface utilisateur peut également changer via les paramètres de configuration ou par programmation.

+0

C'est ce qui me posait problème. Le format dans mes paramètres régionaux a été changé pour "Anglais [Inde]". J'avais déjà visité cela dans le passé mais j'ai ignoré la partie '[Inde]'. Je viens de vérifier que les paramètres régionaux étaient encore en anglais. Quoi qu'il en soit, je l'ai confirmé maintenant .. Si je change le format à 'English [US]'. Mon application de console fonctionne et quand je passe à 'English [India]' cela ne fonctionne pas. Notez que mon application basée sur la console est juste une application Hello World qui fait Console.WriteLine ("Hello World"). – Prakash