由于以下原因导致导出失败:无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

Taz*_*zeb 3 c# sql silverlight entity

每次我将我的代码发布到另一台服务器时,我都会收到以下错误导致导致导致:无法加载一个或多个请求的类型.检索LoaderExceptions属性以获取更多信息.

这非常令人沮丧,我已经检查并确保包含所有项目参考文件....任何帮助将不胜感激!

noo*_*otn 7

我使用AutoFac遇到了这个问题.基本上我有这行代码,并得到与你相同的错误:

return builder.Build();
Run Code Online (Sandbox Code Playgroud)

如你所知,例外不会告诉你什么!因此,您需要合并"LoaderExceptions".我想出了这个非常好用,并直接指向我丢失的DLL:

        try
        {
            return builder.Build();
        }
        catch (Exception ex)
        {
            if (ex is ReflectionTypeLoadException)
            {
                var typeLoadException = ex as ReflectionTypeLoadException;
                var loaderExceptions = typeLoadException.LoaderExceptions;
                throw new AggregateException(typeLoadException.Message, loaderExceptions);
            }
            throw;
        }
Run Code Online (Sandbox Code Playgroud)

现在在异常中,我得到了一堆有用的信息,但最重要的是我丢失的DLL:"(内部异常#0)System.IO.FileNotFoundException:无法加载文件或程序集'System.Web.Mvc,Version = 3.0. 0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'或其中一个依赖项.系统找不到指定的文件.文件名:'System.Web.Mvc,Version = 3.0.0.0,Culture = neutral,PublicKeyToken = 31bf3856ad364e35'"

我发现System.Web.MVC是由该项目引用的项目引用的.所以这个项目没有直接需要它,但其中一个依赖项确实如此.

在你的代码周围尝试一下try/catch,我认为你会为自己省去很多痛苦.

干杯.