无法加载文件或程序集 'System.Web.Optimization,版本=1.0.0.0,文化=中性,PublicKeyToken = 31bf3856ad364e35'。

4
尽管我已经安装了Microsoft.AspNet.Web.Optimization的Nuget包,但我一直收到这个错误:
无法加载文件或程序集'System.Web.Optimization,版本=1.0.0.0,文化=中性,PublicKeyToken=31bf3856ad364e35'
显然,在Nuget中的版本是v.1.13,而我的解决方案中引用的某个位置是v.1.0.0...问题是,我找不到匹配这两个版本的方法。我找不到v.1.0.0的安装程序或删除或覆盖1.0.0以使用1.1.3的方法。
对此有什么帮助吗?
如果您需要查看任何代码,请告诉我,我会更新问题。
5个回答

5

我通过将以下内容添加到我的web.config文件中,成功解决了这个问题:

<configuration>
    <runtime>
        <dependentAssembly>
            <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.1.3.0" />
        </dependentAssembly>
    </runtime>
</configuration>

谢谢,但是没有帮助到我。 - Pete Alvin
这个解决方案对我有用。之前我也遇到了同样的问题,只是在这一行中有一个微小的差别:<bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.1.3.0" />,我使用的是 "0.0.0.0-1.1.3.0" 而不是 "0.0.0.0-1.0.0.0"。非常感谢! - Chris Gong
我遇到了类似的问题,但是使用了不同的程序集。我找到了很多其他的解决方案,但似乎都没有帮助,但是这个最终为我解决了问题,谢谢! - DibsyJr

3
以下是翻译的结果:

这是我如何修复它的。使用命令重新安装包:

Install-Package Microsoft.AspNet.Web.Optimization

如果您已经安装了它,您需要从packages.config中删除此行:
<package id="Microsoft.AspNet.Web.Optimization" version="1.1.3" targetFramework="net45" />

1
我正在从事的项目是.Net 4.5及以上版本,我在执行以下操作后遇到了问题:
  1. 安装以下 Nuget 包:

    Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.3

  2. 将以下脚本标签添加到 *.aspx 页面中:

    <%: Scripts.Render("~/bundles/YourScriptsBundleName") %>

  3. 更新 web.config 文件:

    <namespaces> <add namespace="System.Web.Optimization"/> </namespaces>

因此,为了解决这个问题,我按照上面 cliffeh 的答案进行了操作,但稍作修改:
  <dependentAssembly>
    <assemblyIdentity name="System.Web.Optimization" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.0.0.0" newVersion="1.1.0.0" />
  </dependentAssembly>

0

我认为你需要从项目属性中更改"目标框架"".Net Framework 3.5" 应该是可以的。

另外,你必须确保你的"平台目标"设置正确。你可以在项目属性下的"生成"选项卡中进行更改。如果你运行的应用程序是64位的,请将其更改为x64,否则(32位)请保持x86。注意不要选择"任何 CPU"

希望这些能帮到你。

阿里夫。


0
今天我在GIT分支之间切换时遇到了同样的问题。
如果您想使用nuget访问特定版本的软件包,则可以使用-version <value>选项来查看已安装的每个软件包的版本信息。
因此,您可以编写一个nuge卸载程序,然后使用附加版本信息的nuget安装程序安装特定的软件包。

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接