Не удалось загрузить файл или сборку 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' или одну из его зависимостей


у меня есть проект MVC4 Web api. при запуске проекта службы я получаю сообщение об ошибке

не удалось загрузить файл или сборку 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' или одну из его зависимостей. Система не может найти указанный файл.

я добавил WebGrease.dll-файл и все еще его предстоящая ошибка

и попытался с изменением сеть.конфигурации

<bindingRedirect oldVersion="0.0.0.0-1.3.0.0"/>"

и

<bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />

прошу совета, что мне не хватает.

15 56

15 ответов:

вы пробовали через NuGet ?

Install-Package WebGrease -Version 1.5.1

или

Install-Package WebGrease -Version 1.5.2

Я знаю, что это немного поздно для OP, но я столкнулся с той же проблемой при попытке Bootstrap 3 для MVC 4 пакет NuGet, в моем случае это было как-то связано с Microsoft.сеть САШ.Сеть.Оптимизация, и удалось найти простое решение.

попробуйте выполнить следующие команды в консоли диспетчера пакетов:

Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease
Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization
Update-Package WebGrease

первые две строки не имели никакого эффекта для меня, так как эти пакеты уже были установлены и обновлено Bootstrap 3 для MVC 4 пакет, но я все равно запустил их, а затем все это скомпилировано и отлично работает.

эта ошибка потому что Microsoft.AspNet.Web.Optimization 1.1.3 внутри ссылки WebGrease 1.5.1.25624 хотя сам пакет Nuget имеет зависимость от WebGrease 1.5.2.14234. Кто-то явно перепутал при создании пакета Nuget.

чтобы решить эту проблему, добавьте эту сборка в Web.Config.

  <dependentAssembly>
    <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
    <bindingRedirect oldVersion="0.0.0.0-1.5.1.25624" newVersion="1.5.2.14234" />
  </dependentAssembly>

для меня ни один из вышеперечисленных сценариев не работал.

после попытки в течение двух дней, наконец, я нашел решение.

то, что я сделал, я удалил Microsoft.сеть САШ.Сеть.Оптимизация и WebGrease оба.

Я знал, что эта сборка оптимизации внутренне относится к WebGrease 1.5.1. Поэтому я выбрал версию оптимизации, которая не относится к WebGrease 1.5.1.

Я запустил следующие команды, чтобы сделать все работает.

Uninstall-Package Microsoft.AspNet.Web.Optimization
Uninstall-Package WebGrease
Install-Package Microsoft.AspNet.Web.Optimization -Version 1.1.0

Я надеюсь, что смогу быть хорошей помощью для кого-то, для кого выше решение не работает.

Ура!

вопрос, который я наблюдал, близко соответствовал тому, что упоминал Джидхиш Раджан. Однако обновление пакета из диспетчера пакетов Nuget (без указания версии) не устранило проблему. Вот что я должен был сделать, чтобы исправить эту проблему. (По сути, я explicity обновил WebGrease до версии 1.6)

из консоли диспетчера пакетов в Visual Studio явным образом обновите WebGrease до версии 1.6 . вот такая команда.

Install-Package WebGrease -Version 1.6

выход должен быть

Removing 'WebGrease 1.5.2' from {project name}

добавление 'WebGrease 1.6.0' в {имя проекта} Успешно добавлен 'WebGrease 1.6.0' в {имя проекта} Удаление 'WebGrease 1.5.2'. Успешно удален 'WebGrease 1.5.2'.

это закончилось обновлением web.конфиг с

    assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" /
    bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" 

это также привело к удалению строки из файла csproj.

<WebGreaseLibPath>..\packages\WebGrease.1.5.2\lib</WebGreaseLibPath>

и обновление в этом узле в файле csproj

<Reference Include="WebGrease, Version=1.5.2.14234, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <HintPath>..\packages\WebGrease.1.5.2\lib\WebGrease.dll</HintPath>
  <SpecificVersion>False</SpecificVersion>
  <Private>True</Private>
</Reference>

этой

<Reference Include="WebGrease, Version=1.6.5135.21930, Culture=neutral, PublicKeyToken=31bf3856ad364e35, processorArchitecture=MSIL">
  <HintPath>..\packages\WebGrease.1.6.0\lib\WebGrease.dll</HintPath>
  <SpecificVersion>False</SpecificVersion>
  <Private>True</Private>
</Reference>

сохранить в имейте в виду, что у меня не было проблемы на моей локальной машине, просто на веб-сервере сцены. Я хотел попробовать все возможное, чтобы решить эту проблему без обновления пакета, но это было единственное исправление, которое у меня было.

пробовал много вещей, но это работало для меня иногда webgrease проблемы сборки иногда веб.Вопросы оптимизации сборки. Это сработало для меня с Microsoft.сеть САШ.Сеть.Оптимизация 1.1.3

Update-Package WebGrease -Version 1.6

Олди, но Голди...

Я работал над проектом MVC 5 в Visual Studio 2013, и у меня была та же проблема. Мы использовали Visual SVN для управления версиями, и я был единственным в моей команде, у которого была эта проблема.

единственное, что работало для меня было это:

  1. Удалить Microsoft.сеть САШ.Сеть.Оптимизация
  2. в командной строке Nuget запустите: install-package Microsoft.сеть САШ.Сеть.Оптимизация -Версия 1.0.0

Это позволит установить более старую версию Web.Оптимизация. Первоначально проект ссылался на версию 1.1.0. Проблема не в WebGrease, а в системе.Сеть.Оптимизация.dll, которая ссылается на старую, несуществующую версию WebGrease.

когда я запускал проект, он работал, но я хотел использовать ту же версию пакета, как и остальные команды. Итак, я попытался обновить, но... ошибка возвращается...

после этого, я удалил проект (снова) и забрал его из SVN. К моему удивлению, это начало работать... Дело в том, что я полностью удалил проект и взял его из SVN несколько раз до этого. Я даже взял DLL от коллеги, потому что я думал, что, возможно, я получаю поврежденные файлы из NuGet, но безрезультатно.

Я надеюсь, что это поможет кому-то, когда-нибудь.. с Visual Studio 2016 и MVC 8:)

при перенаправлении webgrease убедитесь, что у вас нет appliesTo атрибута assemblyBinding элемент. Для меня я удалил его полностью.

enter image description here

поскольку я не смог удалить с помощью консоли package manger, я вручную перешел к packages.config и прокомментировать старую версию.

Я "Install-Package Microsoft.AspNet.Web.Optimization" (текущая версия 1.1.3) для starup web-проект, который не был выбран в консоли NuGet по умолчанию.

но NuGet и создал новое приложение.конфигурации файл, хотя веб.конфиг есть ожидается, что будут обновлены.

для меня это сработало переместить WebGrease dependentAssembly элемент app.config to web.config ' s <runtime><assemblyBinding>...</assemblyBinding></runtime>.

другие ответы не разрешили это для меня. Мы добавляем новый проект MVC 5 API, и он не играл хорошо со старыми API MVC 2. После запуска обновлений пакета я получал указанную ошибку. Решение для меня состояло в том, чтобы удалить ссылки WebGrease, добавленные NuGet в интернете.конфиг из оскорбительных проектов.

Решения: Откройте паутину.конфигурация проекта(ов) выбрасывает исключение и удаляет или комментирует зависимость, добавленную для WebGrease.

Alreasy разрешил эту ошибку. Ситуация оказалась проще, чем я думал. При установке из nuget новой версии системы.Сеть.Оптимизация он имеет ссылку на

// ссылки: WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35

в то же время у меня есть WebGrease версии 1.5.2.14234. Запуск проекта, у нас есть эта ошибка: не удалось загрузить файл или сборку 'WebGrease, Version=1.5.1.25624

Су, я пытаюсь проверить эту версию на NuGet и был удивлен, что это не так...но когда я создаю новый проект с VS-я его получил. Чтобы взломать эту ошибку я пытаюсь установить ее в GAC..но gac говорит мне, что эта библиотека не подписана. Переход на систему.Сеть.Версия оптимизации=1.1.0.0, где ссылка:

// ссылки: WebGrease, Version=1.3.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35

и 1.3.0.0 сильно подписался-помог мне. Это работает. После обновления webgrease, у меня есть это Версия=1.6.5135.21930 и он работал отлично.

В заключение, у меня есть мнение, чем эта ошибка (не удалось загрузить файл или сборку 'WebGrease, Version=1.5.1.25624) была из-за этой системы.Сеть.Оптимизация lib ссылается на отписанную версию dll webgrease.

У меня была эта проблема во время развертывания.

Я скопировал WebGrease.dll для производства, но я забыл обновить веб.Конфигурационный файл также.

<configuration>
    <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
            <dependentAssembly>
                <assemblyIdentity name="WebGrease" publicKeyToken="31bf3856ad364e35" culture="neutral" />
                <bindingRedirect oldVersion="0.0.0.0-1.5.2.14234" newVersion="1.5.2.14234" />
            </dependentAssembly>
        </assemblyBinding>
    </runtime>
</configuration>

вот что я сделал, чтобы обойти его,

  1. Я сохранил копию веб-сайта.конфигурационный файл моего текущего (поврежденного проекта) в "Corrupted-Web.Конфигурация." и закройте проектное решение.
  2. создал новое приложение с тем же типом моего проекта courrpted. называется это ProjTemp.
  3. сохранить и запустить "PorjTemp", а затем сохранить копию в Интернете.Конфиг "OrigTemp_Web.конфигурация"
  4. закрыть веб.конфигурационный файл.
  5. на" ProjTemp " открыть Инструменты -- > "Менеджер Пакетов NuGet" -- > " Управление Пакеты NuGet для решений " - - - > Выберите, чтобы обновить все связанные установка пакетов. 6 Теперь откройте недавно обновленную веб-страницу.конфигурационный файл. Скопируйте получить информацию из обновленного ""начиная с"

<runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
             --- Copy this section to replace in the corrupted file.---
       </assemblyBinding>
</runtime>

  1. сохранить проект. Перестроить и запустить. Надеюсь, это поможет! ....

вот исправленный, например, VS2015.


<runtime>
           <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
                 <dependentAssembly>
                        <assemblyIdentity name="Newtonsoft.Json" culture="neutral" publicKeyToken="30ad4fe6b2a6aeed" />
                        <bindingRedirect oldVersion="0.0.0.0-8.0.0.0" newVersion="8.0.0.0" />
                 </dependentAssembly>
                <dependentAssembly>
                        <assemblyIdentity name="WebGrease" culture="neutral" publicKeyToken="31bf3856ad364e35" />
                        <bindingRedirect oldVersion="0.0.0.0-1.6.5135.21930" newVersion="1.6.5135.21930" />
              </dependentAssembly>
              <dependentAssembly>
                        <assemblyIdentity name="EntityFramework" publicKeyToken="b77a5c561934e089" />
                        <bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" /
              </dependentAssembly>
              <dependentAssembly>
                        <assemblyIdentity name="Microsoft.Owin" culture="neutral" publicKeyToken="31bf3856ad364e35" />
                        <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" /
                </dependentAssembly>
                <dependentAssembly>
                        <assemblyIdentity name="Microsoft.Owin.Security.OAuth" culture="neutral" publicKeyToken="31bf3856ad364e35" />
                        <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
                </dependentAssembly>
                <dependentAssembly>
                        <assemblyIdentity name="Microsoft.Owin.Security.Cookies" culture="neutral" publicKeyToken="31bf3856ad364e35" />
                        <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
                 </dependentAssembly>
                 <dependentAssembly>
                        <assemblyIdentity name="Microsoft.Owin.Security" culture="neutral" publicKeyToken="31bf3856ad364e35" />
                         <bindingRedirect oldVersion="0.0.0.0-3.0.1.0" newVersion="3.0.1.0" />
                  </dependentAssembly>
                  <dependentAssembly>
                         <assemblyIdentity name="Antlr3.Runtime" publicKeyToken="eb42632606e9261f" culture="neutral" />
                        <bindingRedirect oldVersion="0.0.0.0-3.5.0.2" newVersion="3.5.0.2" />
                   </dependentAssembly>
          </assemblyBinding>
  </runtime>

вот что я сделали, чтобы исправить это, решение на Github Сами, Oweis 4 Computer

эта проблема также может возникнуть, если вы не развертываете Web.файл конфигурации веб-сервера.