414 Stimmen

Fehlermeldung 'Einer oder mehrere der angeforderten Typen können nicht geladen werden. Rufen Sie die Eigenschaft LoaderExceptions für weitere Informationen ab.'

Ich habe eine Anwendung entwickelt, die Entity Framework , SQL Server 2000, Visual Studio 2008 und Enterprise Library.

Lokal funktioniert es einwandfrei, aber wenn ich das Projekt in unserer Testumgebung bereitstelle, erhalte ich den folgenden Fehler:

Einer oder mehrere der angeforderten Typen können nicht geladen werden. Rufen Sie die Eigenschaft LoaderExceptions für weitere Informationen ab

Stack trace: at System.Reflection.Module._GetTypesInternal(StackCrawlMark& stackMark)

bei System.Reflection.Assembly.GetTypes()

at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly(LoadingContext context)

at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache(LoadingContext context)

at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly, Boolean loadReferencedAssemblies, Dictionary 2 knownAssemblies, Dictionary 2& typesInLoading, List`1& errors)

at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache(ObjectItemCollection objectItemCollection, Assembly assembly, Boolean loadReferencedAssemblies)

at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType(Type type)

at System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType(Type type, Assembly callingAssembly)

at System.Data.Objects.ObjectContext.CreateQuery[T](String queryString, ObjectParameter[] parameters)

Entity Framework scheint ein Problem zu haben, gibt es einen Hinweis, wie man es beheben kann?

5voto

SteveCav Punkte 6441

Mein Fall dieses Problems endete mit einer fehlenden Referenz. In der app.config wurde auf eine Baugruppe verwiesen, die jedoch keinen Verweis im Projekt hatte.

4voto

Siarhei Kuchuk Punkte 5076

Eine andere Lösung, um zu wissen, warum genau nichts funktioniert (von Microsoft connect):

  1. Fügen Sie diesen Code in das Projekt ein:

    foreach (var asm in AppDomain.CurrentDomain.GetAssemblies())
    {
        asm.GetTypes();
    }
  2. Schalten Sie die Generierung von Serialisierungsbaugruppen aus.

  3. Aufbau und Ausführung.

3voto

SameerPc Punkte 31

Wenn Sie Folgendes verwenden Entity Framework versuchen Sie, die folgenden Verweise lokal zu kopieren.

  • System.Data.Entität
  • System.Web.Entität

Ändern Sie die Eigenschaft "Copy Local" auf "True" für diese Referenzen und veröffentlichen Sie sie.

2voto

Mafi Osori Punkte 21

Ich hatte eine .NET 4.0, ASP.NET MVC 2.0, Entity Framework 4.0-Webanwendung, die in Visual Studio 2010 entwickelt wurde. Ich hatte das gleiche Problem, dass es auf einem funktionierte Windows Server 2008 R2-Server, aber nicht auf einem anderen Windows Server 2008 R2-Server, obwohl die Versionen von .NET und ASP.NET MVC die gleichen waren und der gleiche Fehler wie bei Ihnen auftrat.

Ich bin Mikos Vorschlag gefolgt und habe Windows-SDK v7.1 (x64) auf dem ausgefallenen Server, so dass ich !dumpheap ausführen konnte.

Nun, es stellte sich heraus, dass die Installation von Windows SDK v7.1 (x64) das Problem behoben hat. Welche Abhängigkeit auch immer fehlte, sie muss im SDK enthalten sein. Es kann heruntergeladen werden von Microsoft Windows SDK für Windows 7 und .NET Framework 4 .

2voto

Rahul Nikate Punkte 5924

Das hat bei mir funktioniert. Fügen Sie es in Ihrer web.config hinzu

<system.web>
  <trust level="Full" />

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X