有趣的依赖问题…… VS2015.3,.NET45将Microsoft.Owin从3.0.0更新到3.0.1(跟踪此更新是问题 – 想要安装https://www.nuget.org/packages/IdentityServer3.AccessTokenValidation/) 它在IIS Express上本地工作 但发布到Azure网站:(我直接从VS删除目标上的其他文件).重新启动并删除了a
来源: c# – 无法将文件或程序集Microsoft.Owin 3.0.0加载到3.0.1 – 程序园
但发布到Azure网站:(我直接从VS删除目标上的其他文件).重新启动并删除了azure webserver中的所有文件.
web.config翻译看起来没问题
<dependentAssembly>
<assemblyIdentity name="Microsoft.Owin" publicKeyToken="31bf3856ad364e35" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
</dependentAssembly>
编辑
Bruce Chen的回答指出了我的方向Kuud(Azure – 开发工具,高级工具)
我下载了Owin dll,这是错误的版本,即3.0.0
为了解决这个问题,我清除了解决方案中的所有包工件
git clean -xfd(小心)
然后重建
Could not load file or assembly ‘Microsoft.Owin, Version=3.0.1.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35’ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference.
通常,这意味着.NET程序集加载程序无法找到具有引用的特定版本的程序集.请确保您的Azure网站中可以找到版本3.0.1.0的程序集,并且该版本通过KUDU或FTP客户端与web.config中的定义匹配.
正如您所说,它在IIS Express上本地工作,请尝试通过KUDU或FTP客户端手动将您的网站内容部署到Azure,并找出它是否有效.