【问题标题】:System.web.webpages run error after install Visual Studio 2012安装 Visual Studio 2012 后 System.web.webpages 运行错误
【发布时间】:2013-07-08 16:55:23
【问题描述】:

我们在 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

【问题讨论】:

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


    【解决方案1】:

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

    Install-Package AspNetMvc -Version 3.0.20105.0
    

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


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

    Source

    【讨论】:

    • 谢谢,这解决了我的问题。但是我不明白为什么我安装vs 2012后会出现这个问题,你能告诉我吗?
    • 这意味着,在安装 vs-2012 之前,发布是一次性运行的吗?我相信,问题不是因为安装了 vs-2012。你可能在循环中遗漏了一些东西。
    猜你喜欢
    • 1970-01-01
    • 2013-04-07
    • 2013-09-15
    • 1970-01-01
    • 2012-12-28
    • 1970-01-01
    • 2012-09-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多