相关疑难解决方法(0)

错误消息'无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

我使用Entity Framework,SQL Server 2000,Visual Studio 2008和Enterprise Library 开发了一个应用程序.

它在本地工作得非常好,但是当我将项目部署到我们的测试环境时,我收到以下错误:

无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息

堆栈跟踪:在System.Reflection.Module._GetTypesInternal(StackCrawlMark和stackMark)

在System.Reflection.Assembly.GetTypes()

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

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

at System.Data.Metadata.Edm.ObjectItemCollection.AssemblyCacheEntry.LoadAssemblyFromCache(Assembly assembly,Boolean loadReferencedAssemblies,Dictionary 2 knownAssemblies, Dictionary2&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)

实体框架似乎有问题,任何线索如何修复它?

c# entity-framework

324
推荐指数
11
解决办法
34万
查看次数

在C#中运行时加载DLL

我试图找出如何在C#应用程序中运行时导入和使用.dll.使用Assembly.LoadFile()我设法让我的程序加载dll(这部分肯定是有效的,因为我能够获得带有ToString()的类的名称),但是我无法使用'输出'我的控制台应用程序内的方法.我正在编译.dll然后将其移动到我的控制台项目中.CreateInstance之间是否有额外的步骤,然后能够使用这些方法?

这是我的DLL中的类:

namespace DLL
{
    using System;

    public class Class1
    {
        public void Output(string s)
        {
            Console.WriteLine(s);
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

这是我想要加载DLL的应用程序

namespace ConsoleApplication1
{
    using System;
    using System.Reflection;

    class Program
    {
        static void Main(string[] args)
        {
            var DLL = Assembly.LoadFile(@"C:\visual studio 2012\Projects\ConsoleApplication1\ConsoleApplication1\DLL.dll");

            foreach(Type type in DLL.GetExportedTypes())
            {
                var c = Activator.CreateInstance(type);
                c.Output(@"Hello");
            }

            Console.ReadLine();
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

c# reflection dll

76
推荐指数
3
解决办法
18万
查看次数

标签 统计

c# ×2

dll ×1

entity-framework ×1

reflection ×1