Fehlermeldung 'Ein oder mehrere der angeforderten Typen können nicht geladen werden. Rufen Sie die LoaderExceptions-Eigenschaft ab, um weitere Informationen zu erhalten. '

c# entity-framework

Frage

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

Es funktioniert vor Ort absolut einwandfrei, aber wenn ich das Projekt in unserer Testumgebung bereitstelle, erhalte ich die folgende Fehlermeldung:

Ein oder mehrere der angeforderten Typen können nicht geladen werden. Rufen Sie die LoaderExceptions-Eigenschaft ab, um weitere Informationen zu erhalten

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

bei System.Reflection.Assembly.GetTypes ()

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

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

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, Assemblyassembly, Boolean loadReferencedAssemblies)

at System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyForType (Typ)

at System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType (Typ type, Assembly aufrufende Assemblierung)

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

Entity Framework scheint ein Problem zu haben. Gibt es Hinweise, wie das Problem behoben werden kann?

Akzeptierte Antwort

Ich habe dieses Problem gelöst, indem ich das Attribut "Lokal kopieren" der Referenzen meines Projekts auf "true" gesetzt habe.


Beliebte Antwort

Dieser Fehler hat keine wahre Antwort auf die magische Kugel. Der Schlüssel ist, alle Informationen zu haben, um das Problem zu verstehen. Höchstwahrscheinlich fehlt einer dynamisch geladenen Assembly eine referenzierte Assembly. Diese Assembly muss sich im bin-Verzeichnis Ihrer Anwendung befinden.

Verwenden Sie diesen Code, um festzustellen, was fehlt.

using System.IO;
using System.Reflection;
using System.Text;

try
{
    //The code that causes the error goes here.
}
catch (ReflectionTypeLoadException ex)
{
    StringBuilder sb = new StringBuilder();
    foreach (Exception exSub in ex.LoaderExceptions)
    {
        sb.AppendLine(exSub.Message);
        FileNotFoundException exFileNotFound = exSub as FileNotFoundException;
        if (exFileNotFound != null)
        {                
            if(!string.IsNullOrEmpty(exFileNotFound.FusionLog))
            {
                sb.AppendLine("Fusion Log:");
                sb.AppendLine(exFileNotFound.FusionLog);
            }
        }
        sb.AppendLine();
    }
    string errorMessage = sb.ToString();
    //Display or log the error based on your application.
}


Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum
Lizenziert unter: CC-BY-SA with attribution
Nicht verbunden mit Stack Overflow
Ist diese KB legal? Ja, lerne warum