安装Visual Studio 2012后,System.web.webpages运行错误

时间:2013-07-10 16:31:53

标签: c# asp.net visual-studio-2010 asp.net-mvc-3 visual-studio-2012

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

在我的计算机上同时使用Visual Studios都没有问题,但如果我发布项目并在IIS中创建应用程序目录,在另一台没有Visual Studio的计算机中,则会在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 个答案:

答案 0 :(得分: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