Asp.net 发布到Azure程序集后,无法加载Microsoft.Owin

Asp.net 发布到Azure程序集后,无法加载Microsoft.Owin,asp.net,azure,.net-assembly,Asp.net,Azure,.net Assembly,我有一个非常简单的ASP.NET项目,当我从Visual Studio运行它时,它运行得很好,但在发布到Azure Web App后,我遇到了这个错误 无法加载文件或程序集“Microsoft.Owin.Security,Version=2.0.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100) 我到处都找过了,我没有使用这个程序集,至少不

我有一个非常简单的ASP.NET项目,当我从Visual Studio运行它时,它运行得很好,但在发布到Azure Web App后,我遇到了这个错误

无法加载文件或程序集“Microsoft.Owin.Security,Version=2.0.1.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。定位的程序集清单定义与程序集引用不匹配。(来自HRESULT的异常:0x8013100)

我到处都找过了,我没有使用这个程序集,至少不是有意使用的,而且如果我在解决方案中进行搜索,它也没有列在Web.config或Package.config或任何地方

我真的不知道我错过了什么。也许是Azure端的配置

这是堆栈跟踪

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

[TargetInvocationException:调用的目标已引发异常。] System.RuntimeMethodHandle.InvokeMethod(对象目标、对象[]参数、签名符号、布尔构造函数)+0 System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal(对象obj,对象[]参数,对象[]参数)+92 System.Reflection.RuntimeMethodInfo.Invoke(对象obj、BindingFlags invokeAttr、Binder Binder、对象[]参数、CultureInfo区域性)+136 Owin.Loader.c_uuu显示Class12.b_uuub(IAppBuilder)+66 Owin.Loader.c_uuudisplayClass1.b_uuu0(IAppBuilder)+123 Microsoft.Owin.Host.SystemWeb.c__DisplayClass2.b__0(IAppBuilder)+71 初始化(操作
1启动)+462
Microsoft.Owin.Host.SystemWeb.OwinBuilder.Build(操作
1启动)+40 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.InitializeBlueprint()+70 System.Threading.LazyInitializer.EnsureInitializedCore(T&target,Boolean&initialized,Object&syncLock,Func`1 valueFactory)+115 Microsoft.Owin.Host.SystemWeb.OwinHttpModule.Init(HttpApplication上下文)+106 System.Web.HttpApplication.registereventsubscriptionswithis(IntPtr-appContext,HttpContext-context,MethodInfo[]handlers)+537 System.Web.HttpApplication.InitSpecial(HttpApplicationState,MethodInfo[]处理程序,IntPtr-appContext,HttpContext-context)+172 System.Web.HttpApplicationFactory.GetSpecialApplicationInstance(IntPtr-appContext,HttpContext-context)+364 System.Web.Hosting.PipelineRuntime.InitializeApplication(IntPtr appContext)+290

[HttpException(0x80004005):调用目标已引发异常。] System.Web.HttpRuntime.FirstRequestInit(HttpContext上下文)+4531288 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext上下文)+94 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequestWR,HttpContext上下文)+191


好的,我找到了问题的根源

我以前有一个ASP.NET Web应用程序使用身份验证-我记不清是哪一个。经过几次修改后,我发布到Azure上,一切正常

后来,我改为使用令牌进行身份验证,所以我决定删除使用身份验证的现有ASP.NET Web应用程序,并创建了一个没有身份验证的新应用程序。发布到Azure后,我开始出现上面问题中描述的错误。当然,我的新Web应用程序没有任何对任何身份验证的引用,但我没有删除以前的文件就退出了Azure

所以,我所做的是再次发布,但这次在“发布设置”中,我单击“文件发布选项”,并选中“在目标位置删除其他文件”选项。我假设此选项会从我使用身份验证创建的第一个Web应用中删除任何现有文件和引用。现在,我的新网络应用程序运行良好