0

我们在MVC 3和Visual Studio 2010中有一个Web应用程序,现在我们安装了Visual Studio 2012,并发现dll“System.Web”的问题。 WebPages“,现在版本是2.0.0.0,之前是1.0.0.0。安装后System.web.webpages运行错误Visual Studio 2012

在我的电脑既视觉工作室是没有问题的,但如果我发布该项目,并在IIS中创建一个应用程序目录,在另一台电脑,没有视觉工作室,下面的错误是在Web浏览器中倒掉:

**Could not load file or assembly 'System.Web.WebPages, Version=2.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The located assembly's manifest definition does not match the assembly reference.** 

我们已经尝试将dll放入发布文件夹中,同样的问题正在发生。 我们试图把下面的代码在web.config中太:

<dependentAssembly> 
     <assemblyIdentity name="System.Web.WebPages" publicKeyToken="31bf3856ad364e35" culture="neutral" /> 
     <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="2.0.0.0" /> 
</dependentAssembly> 

OBS:在Visual Studio 2010 不要使用的Visual Studio 2012

回答

1

你是我发布项目由于程序集引用或配置问题而出现此错误。您可以通过在nuget控制台中执行以下命令(Tools -> Library Package Manager -> Package Manager Console)轻松修复它。

Install-Package AspNetMvc -Version 3.0.20105.0 

它会自动添加所有需要的引用并对其进行配置。安装完成后,重建并发布应用程序。


如果你正在使用Visual Studio 2010 SP1,您可以右键单击该项目并选择“添加部署大会”。选择ASP.NET MVC 3选项。这会将MVC程序集添加到一个特殊的目录中,以确保它们在构建/发布Web应用程序时位于bin目录中。

Source

+0

谢谢,这解决了我的问题。 但我不明白为什么这个问题发生在我安装vs 2012之后,你能告诉我吗? –

+0

这意味着,在安装vs-2012之前,发布工作是一次性完成的吗?我相信,这个问题并不是因为vs-2012的安装。你可能会错过循环中的某些东西。 – NaveenBhat

相关问题