我在IIS中发布了我的MVC 4 Razor应用程序,当我浏览应用程序时出现此错误。
"Could not load file or assembly 'DotNetOpenAuth.Core, Version=4.0.0.0, Culture=neutral, PublicKeyToken=2780ccd10d57b246' or one of its dependencies. The system cannot find the file specified."
我尝试在MVC dll属性的Copy Local选项中将“false”更改为“true”。
System.Web.Abstractions,
System.Web.Routing,
System.Web.MVC,
System.Web.Helpers,
System.Web.Razor
我已卸载与DotNetOpenAuth
相关的Nuget包。
我使用“添加可部署依赖项”选择带有Razor语法的ASP.NET网页。
我的应用程序是一个典型的MVC 4项目,还有4个图书馆项目。
我的IIS配置很常见。默认应用。集成模式。
当我发布时,我选择了FileSystem和目标位置。
希望有人可以帮助我,因为我已经处理了这个问题好几天了。
修改
要解决此问题,我必须删除已发布文件的Bin文件夹中生成的Microsoft.Web.WebPages.OnAuth
dll。
“DotNetOnAuth是一个开源库,可将OpenID,OAuth和ICard功能引入Microsoft .NET Framework。”
似乎该库不断增长,但.NET Framework仍然引用旧的4.0.0.0版本。
在我的情况下删除它解决了问题,因为我没有使用它。
但我不知道如果他们使用图书馆,其他人应该怎么做。也许更改引用的汇编版本可以解决它。
答案 0 :(得分:0)
我在将bin deploy
部署MVC应用程序时看到了这种情况。并在ASP .NET Webpages with Razor syntax
对话框中选择Add deployable dependencies
。这会导致VS添加对Oauth的引用。
通常,删除生成的可部署bin文件夹和App的bin文件夹,然后清理并重建解决方案将解决问题。