Сообщение об ошибке «Невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации. '

c# entity-framework

Вопрос

Я разработал приложение с использованием Entity Framework , SQL Server 2000, Visual Studio 2008 и Enterprise Library.

Локально работает абсолютно нормально, но когда я развертываю проект в нашей тестовой среде, я получаю следующую ошибку:

Невозможно загрузить один или несколько запрошенных типов. Получите свойство LoaderExceptions для получения дополнительной информации

Трассировка стека: в System.Reflection.Module._GetTypesInternal (StackCrawlMark & stackMark)

в System.Reflection.Assembly.GetTypes ()

в System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadTypesFromAssembly (контекст LoadingContext)

в System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.InternalLoadAssemblyFromCache (контекст LoadingContext)

в System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache (сборка сборки, логический loadReferencedAssemblies, словарь 2 knownAssemblies, Dictionary 2 & typesInLoading, List`1 & ошибки)

в System.Data.Metadata.Edm.ObjectItemCollection.LoadAssemblyFromCache (ObjectItemCollection objectItemCollection, сборка сборки, логическая загрузка loadReferencedAssemblies)

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

в System.Data.Metadata.Edm.MetadataWorkspace.LoadAssemblyForType (Тип типа, Сборка, вызывающая сборку)

в System.Data.Objects.ObjectContext.CreateQuery [T] (String queryString, ObjectParameter [] параметры)

У Entity Framework, похоже, есть проблема, есть какие-то подсказки, как это исправить?

Принятый ответ

Я решил эту проблему, установив для атрибута «Копировать локально» ссылок моего проекта значение true.


Популярные ответы

Эта ошибка не имеет истинного волшебного ответа. Ключ должен иметь всю информацию, чтобы понять проблему. Скорее всего, в динамически загруженной сборке отсутствует ссылка на сборку. Эта сборка должна находиться в каталоге bin вашего приложения.

Используйте этот код, чтобы определить, чего не хватает.

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.
}


Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему
Лицензировано согласно: CC-BY-SA with attribution
Не связан с Stack Overflow
Является ли этот КБ законным? Да, узнайте, почему