【问题标题】:Could not load file or assembly WebGrease,dll Version Clash无法加载文件或程序集 WebGrease,dll 版本冲突
【发布时间】:2015-01-07 11:40:28
【问题描述】:

这个问题从昨晚开始一直困扰着我,我无法弄清楚它的解决方案。

让我解释一下我的项目的结构,在一个解决方案文件中,我有三个项目,两个是 asp.net mvc 4 项目,一个是 C# 库,当我添加新的 asp.net mvc 4 项目时问题就开始了。

我尝试了几种解决方案,但它们对我不起作用,

  1. nuget restore(首先我删除了整个包文件夹然后应用 nuget 恢复)。
  2. 然后尝试卸载asp.net web优化包 webgrease,然后安装它们。
  3. 已尝试清理 asp.net 的临时文件夹。
  4. 从 web.config assemblyBinding 标记中删除了 xmlns

注意:

  • 通过使用第一个解决方案,我能够在我的家庭开发机器上解决问题,但相同的解决方案在我的办公室开发机器上不起作用:(
  • 我在asp.net chat 上也讨论过这个问题,然后在这里发布问题。
  • Assembly binding log aka FusionLog Viewer
  • 尝试了几种 SO 解决方案。

更新:

  • 在单独的解决方案中移动了两个 MVC4 webapp,所以一个解决方案是 工作正常,但另一个有同样的 webgrease 问题。

解决方案:

  • 在下面查看我的答案,了解适用于我的情况的解决方案。

【问题讨论】:

  • 任何人都可以帮我解决这个问题,它仍然困扰着我..!

标签: asp.net asp.net-mvc nuget gac


【解决方案1】:

如果您的解决方案是 64 位的,而 dll-s 是 32 位的,请转到:

  1. IIS / 应用程序池

  2. 右键单击您的网站应用程序池/高级设置

  3. 将“启用 32 位应用程序”设置为 TRUE

【讨论】:

  • 这不是答案。这里没有平台不匹配。这是版本冲突
  • @cristi 它甚至没有托管,我使用的是 VS 2012 中提供的 IIS Express
  • @Cristi 虽然与这个问题没有直接关系,但是一个很好的建议,+1 :)
【解决方案2】:

大家好,

所以我合并了我的两个解决方案,现在两个 mvc4 项目以及一个测试用例项目和 C# 类库项目都在同一个解决方案中。

我终于让它为我工作了,这里是使用 nuget 控制台命令的步骤

  1. 卸载包Microsoft.AspNet.Web.Optimization
  2. 卸载-Package webgrease
  3. 安装包 Microsoft.AspNet.Web.Optimization -Version 1.1.0

注意:

我的项目中有 WebGrease 1.5.2 和 Microsoft.AspNet.Web.Optimization 1.1.3,我必须回滚到早期版本才能使其正常工作。

【讨论】:

    猜你喜欢
    • 2014-07-18
    • 2016-03-31
    • 2014-02-06
    • 2014-10-01
    • 1970-01-01
    • 2021-12-23
    • 1970-01-01
    • 1970-01-01
    • 2013-11-20
    相关资源
    最近更新 更多