0

我们在 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 Studios 的计算机上,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

4

1 回答 1

1

由于程序集参考或配置问题,您会收到此错误。Tools -> Library Package Manager -> Package Manager Console您可以通过在 nuget 控制台 ( )中执行以下命令轻松修复它。

Install-Package AspNetMvc -Version 3.0.20105.0

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


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

资源

于 2013-07-10T17:13:28.070 回答