"TypeInitializationException wurde unbehandelte"
Fehler Melden:
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:
Programm.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;
}
}
}
Scheint es das Problem mit Microsoft.Xna.Framework 3.1.0 Aufnahme, aber ich bin mir sicher, dass der Pfad korrekt ist, und alle meine anderen Projekte funktionieren mit diesem setup. Dies ist in VS2008, C#, btw. Ich erinnere mich, letztes mal hatte ich dieses Problem, ich hatte eine der top-zentralen dropdown-Listen in VS2008 auf 'x86', und dass es behoben, aber jetzt macht es keinen Unterschied.
- Klicken Sie auf Debuggen--> Ausnahmen und überprüfen Sie AUF alle Geworfen Checkboxen. Dies wird Ihnen helfen, um das problem zu ermitteln.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ist es wahrscheinlich, Sie haben das gleiche problem, Sie hatten beim letzten mal. Ich kann nicht denken, ein weiterer Grund, Sie bekommen würde, die Ausnahme. Es ist wahrscheinlich, dass Sie noch nicht implementiert das Update korrekt.
Beachten Sie, dass es ist die innere Ausnahme, dass es hier an. Die äußere Ausnahme wäre Weg, wenn Ihr erstellt Ihr Modell im Hauptteil des Programms, nicht während der statischen Initialisierung.
So die Ausnahme ist im Grunde:
Konnte nicht geladen assembly 'Microsoft.Xna.Rahmen'. Das system kann nicht die angegebene Datei gefunden werden.
Shawn Hargreaves schreibt , dass die Ausnahme wirklich bedeutet:
Konnte nicht geladen werden 32-bit-assembly 'Microsoft.Xna.Rahmen " in eine 64-bit-Prozess. Dein Spiel-Projekt ist "Any CPU" Plattform, bei der Sie angeben sollten 'x86'.
Der fix ist:
In Ihrem Visual Studio-Symbolleiste, es sollte eine combo-box, die sagen, 'Any CPU'.
Wenn Sie mit C# Express, dieser toolbar-Eintrag, können ausgegraut sein. Um es zu aktivieren, gehen Sie zu 'Extras /Optionen' Häkchen bei "alle Einstellungen Anzeigen", wählen Sie die "Projekte und Projektmappen" - Registerkarte, und aktivieren Sie das Kontrollkästchen "Show advanced build configurations" - box.
Pull-down-die "Any CPU" - Symbolleiste Kombinationsfeld, und wählen Sie 'Configuration Manager'. Öffnen Sie die "Active solution platform" - combo, wählen Sie '
<New...>
', und erstellen Sie eine 'x86' - Konfiguration.Hatte ich den gleichen Fehler angezeigt, rechts in der ersten Zeile meines Programms Main(), die gearbeitet hatte, perfekt für Tage. Es hatte nichts zu tun mit dem laden von Assemblys. Das problem war, ich hatte versehentlich eingefügt in einen Aufruf einer statischen utility-Klasse " Methoden in der Erklärung Abschnitt derselben utility-Klasse. Beispiel:
Ich nicht so ganz verstehen, die inneren Eingeweide, was passiert, um die oben genannten, aber ich weiß, es war das problem, weil sobald ich mich bewegt, dass Sie einen Anruf in eine Init () - Methode, die TypeInitializationException verschwunden. Meine Vermutung ist, während das obige ist legal aus einem compiler, POV, zur Laufzeit, traf er auf die Verwendung einer Methode, die noch nicht definiert. Da dies als eine vollkommen statische Klasse, die Klasse ist nicht "initialisiert", innerhalb des gleichen Bereichs wie alles andere, aber irgendwie initialisiert, hinter den Szenen, wo die normale exception flow ist nicht verfügbar.
Gedanken?