“TypeInitializationException était non gérée”
Journal Des Erreurs:
System.TypeInitializationException was unhandled
Message="The type initializer for 'MaxDavidMP4.Program' threw an exception."
Source="MaxDavidMP4"
TypeName="MaxDavidMP4.Program"
StackTrace:
at MaxDavidMP4.Program.Main()
at System.AppDomain._nExecuteAssembly(Assembly assembly, String[] args)
at Microsoft.VisualStudio.HostingProcess.HostProc.RunUsersAssembly()
at System.Threading.ExecutionContext.Run(ExecutionContext executionContext, ContextCallback callback, Object state)
at System.Threading.ThreadHelper.ThreadStart()
InnerException: System.IO.FileNotFoundException
Message="Could not load file or assembly 'Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d' or one of its dependencies. The system cannot find the file specified."
Source="MaxDavidMP4"
FileName="Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d"
FusionLog="=== Pre-bind state information ===\r\nLOG: User = Max-PC\\Max\r\nLOG: DisplayName = Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d\n (Fully-specified)\r\nLOG: Appbase = file:///C:/Users/Max/Desktop/maximas save/School/University/CSS 450/MaxDavidMP4/MaxDavidMP4/bin/Debug/\r\nLOG: Initial PrivatePath = NULL\r\nCalling assembly : UWBGL_XNA_Lib10, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null.\r\n===\r\nLOG: This bind starts in default load context.\r\nLOG: No application configuration file found.\r\nLOG: Using machine configuration file from C:\\Windows\\Microsoft.NET\\Framework64\\v2.0.50727\\config\\machine.config.\r\nLOG: Post-policy reference: Microsoft.Xna.Framework, Version=3.1.0.0, Culture=neutral, PublicKeyToken=6d5c3888ef60e27d\r\nLOG: The same bind was seen before, and was failed with hr = 0x80070002.\r\n"
StackTrace:
at MaxDavidMP4.Model..ctor()
at MaxDavidMP4.Program..cctor() in C:\Users\Max\Desktop\maximas save\School\University\CSS 450\MaxDavidMP4\MaxDavidMP4\Program.cs:line 14
InnerException:
Programme.cs code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Windows.Forms;
namespace MaxDavidMP4
{
static class Program
{
///<summary>
///The main entry point for the application.
///</summary>
///
static Model model = new Model();
[STAThread]
static void Main()
{
Application.EnableVisualStyles();
Application.SetCompatibleTextRenderingDefault(false);
Application.Run(new Form1());
}
public static Model getModel()
{
return model;
}
}
}
Il semble que le problème vient de Microsoft.Xna.Cadre 3.1.0 l'inclusion, mais je suis sûr que le chemin d'accès est correct, et tous mes autres projets, beau travail avec cette configuration. C'est dans VS2008, C#, btw. Je me souviens de la dernière fois que j'ai eu ce problème, j'ai dû mettre de l'un des plus centraux listes déroulantes dans VS2008 à 'x86' et qu'il fixe, mais maintenant il ne fait aucune différence.
Cliquez sur Debug--> les Exceptions et vérification de la Levée des cases à cocher. Cela vous aidera à déterminer le problème.
OriginalL'auteur CodedMonkey | 2010-11-05
Vous devez vous connecter pour publier un commentaire.
Il est probable que vous rencontrez le même problème que vous avez eu la dernière fois. Je ne peux pas penser à une autre raison, vous obtiendrez de cette exception. Il est probable que vous n'avez pas mis en œuvre le fixer correctement.
Noter que c'est l'exception interne qui importe ici. L'extérieur exception irait loin, si vous avez créé votre Modèle dans le corps principal du programme plutôt que pendant l'initialisation statique.
De sorte que votre exception est fondamentalement:
N'a pas pu charger l'assembly " Microsoft.Xna.Cadre". Le système ne peut pas trouver le fichier spécifié.
Shawn Hargreaves écrit que l'exception signifie vraiment:
N'a pas pu charger 32 bits assembly " Microsoft.Xna.Cadre en 64 bits processus. Votre projet de jeu est défini à 'CPU' plate-forme, alors qu'elle devrait spécifier 'x86'.
La solution est:
Dans votre barre d'outils Visual Studio, il devrait y avoir une zone de liste modifiable en disant 'CPU'.
Si vous êtes à l'aide de C# Express, cette barre d'outils entrée peuvent être grisées. Pour l'activer, allez dans "Outils /Options", cochez "Afficher tous les paramètres", sélectionnez les Projets et Solutions "tab", et cochez la case "Show advanced construire des configurations".
Tirer vers le bas les 'CPU' barre d'outils de la liste déroulante, puis choisissez "Gestionnaire de Configuration". Ouvrir la solution Active de la plate-forme de liste déroulante, choisissez"
<New...>
', et créer un "x 86" de configuration.OriginalL'auteur Empyrean
J'ai eu le même message d'erreur apparaîtra à droite sur la première ligne de mon programme Main(), qui avait été fonctionne parfaitement pendant des jours. Il n'avait rien à voir avec le chargement des assemblages. Le problème était que j'avais accidentellement collé dans un appel à une statique utilitaire de la classe des méthodes de dans la section de déclaration de la même classe utilitaire. Exemple:
Je ne suis pas totalement comprendre l'intérieur des tripes de ce qui se passe au-dessus, mais je sais que c'était le problème car dès que j'ai déménagé cet appel à une méthode Init (), le TypeInitializationException disparu. Ma conjecture est que, bien que le ci-dessus est légal à partir d'un compilateur POV, à l'exécution, il a rencontré l'utilisation d'une méthode qui n'était pas encore défini. Depuis ce est utilisé comme totalement statique de la classe, la classe n'est pas "initialisé" dans le même champ d'application que tout le reste, mais en quelque sorte initialisé derrière les scènes où la normale exception de débit n'est pas disponible.
Pensées?
Pour faire simple: le bug est dans votre code. Débogage de l'initialisation de l'initialisation statique. Je viens de découvrir ce que je fais de mal dans ma initialisation. Comme Jon . Noir, suggère, il peut aider à l'organisation de ce code d'initialisation dans le constructeur statique, comme la première étape dans le débogage.
OriginalL'auteur John M. Black