在测试服务器中部署后,Microsoft.Owin错误

时间:2019-03-13 12:49:35

标签: c# asp.net .net asp.net-mvc .net-assembly

将.net MVC应用程序部署到我的测试服务器后,出现此错误。 在开发机中正常工作

“ /”应用程序中的服务器错误。 无法加载文件或程序集“ Microsoft.Owin,版本= 2.1.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040) 说明:执行当前Web请求期间发生未处理的异常。请查看堆栈跟踪,以获取有关错误及其在代码中起源的更多信息。

异常详细信息:System.IO.FileLoadException:无法加载文件或程序集“ Microsoft.Owin,版本= 2.1.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35”或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)

源错误:

在执行当前Web请求期间生成了未处理的异常。可以使用下面的异常堆栈跟踪来标识有关异常的来源和位置的信息。

程序集加载跟踪:以下信息有助于确定为何无法加载程序集“ Microsoft.Owin,版本= 2.1.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35”。

WRN:程序集绑定日志记录已关闭。 若要启用程序集绑定失败日志记录,请将注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog](DWORD)设置为1。 注意:与程序集绑定失败日志记录有一些性能上的损失。 要关闭此功能,请删除注册表值[HKLM \ Software \ Microsoft \ Fusion!EnableLog]。

堆栈跟踪:

[FileLoadException:无法加载文件或程序集'Microsoft.Owin,版本= 2.1.0.0,区域性=中性,PublicKeyToken = 31bf3856ad364e35'或其依赖项之一。找到的程序集的清单定义与程序集引用不匹配。 (来自HRESULT的异常:0x80131040)    jp.Startup.ConfigureAuth(IAppBuilder应用)+0

[TargetInvocationException:调用的目标已引发异常。]    System.RuntimeMethodHandle.InvokeMethod(对象目标,对象[]参数,签名信号,布尔构造函数)+0    System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(Object obj,Object [] parameters,Object [] arguments)+128    System.Reflection.RuntimeMethodInfo.Invoke(对象obj,BindingFlags invokeAttr,活页夹装订器,Object []参数,CultureInfo文化)+142    Owin.Loader。<> c__DisplayClass12.b__b(IAppBuilder构建器)+93    Owin.Loader。<> c__DisplayClass1.b__0(IAppBuilder构建器)+212    Microsoft.Owin.Host.SystemWeb.OwinAppContext.Initialize(操作1 startup) +873 Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(Action 1启动)+51    Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()+101    System.Threading.LazyInitializer.EnsureInitializedCore(T&目标,Boolean&初始化,Object&syncLock,Func`1 valueFactory)+135    Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication上下文)+160    System.Web.HttpApplication.RegisterEventSubscriptionsWithIIS(IntPtr appContext,HttpContext上下文,MethodInfo []处理程序)+580    System.Web.HttpApplication.InitSpecial(HttpApplicationState状态,MethodInfo []处理程序,IntPtr appContext,HttpContext上下文)+165    System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr appContext,HttpContext上下文)+267    System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+341

[HttpException(0x80004005):调用的目标引发了异常。]    System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+523    System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+107    System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr,HttpContext上下文)+688

版本信息:Microsoft .NET Framework版本:4.0.30319; ASP.NET版本:4.7.3163.0

1 个答案:

答案 0 :(得分:1)

这是由程序集版本缺少匹配引起的,可以通过重定向程序集版本来解决,请参考https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/redirect-assembly-versions

vs可以自动生成重定向,请参阅https://docs.microsoft.com/en-us/dotnet/framework/configure-apps/how-to-enable-and-disable-automatic-binding-redirection