部署MVC 4 Razor + IIS 7.0 + DotNetOpenAuth.Core

时间:2013-01-30 17:58:59

标签: asp.net-mvc iis deployment razor

我在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版本。

在我的情况下删除它解决了问题,因为我没有使用它。

但我不知道如果他们使用图书馆,其他人应该怎么做。也许更改引用的汇编版本可以解决它。

1 个答案:

答案 0 :(得分:0)

很高兴你解决了它。

我在将bin deploy部署MVC应用程序时看到了这种情况。并在ASP .NET Webpages with Razor syntax对话框中选择Add deployable dependencies。这会导致VS添加对Oauth的引用。

通常,删除生成的可部署bin文件夹和App的bin文件夹,然后清理并重建解决方案将解决问题。