Подтвердить что ты не робот

Не удалось загрузить файл или сборку "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 и все еще будущая ошибка

и попытался сменить web.config

<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" />

пожалуйста, советую, что мне не хватает.

4b9b3361

Ответ 1

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

Install-Package WebGrease -Version 1.5.1

или

Install-Package WebGrease -Version 1.5.2

Ответ 2

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

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

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, но я все равно их запускал, а затем все это было скомпилировано и отлично работало.

Ответ 3

Эта ошибка связана с тем, что 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>

Ответ 4

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

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

Что я сделал, я удалил Microsoft.AspNet.Web.Optimization и 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

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

Ура!

Ответ 5

Вопрос, который я наблюдал, точно соответствует тому, что упоминал Джидхейш Раджан. Однако обновление пакета из диспетчера пакетов Nuget (без указания версии) не устранило проблему. Вот что я должен был сделать, чтобы исправить эту проблему. (По сути, я объясняю обновленную версию 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.config с помощью

    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>

и обновление в этом node в файле 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>

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

Ответ 6

Пробовал много вещей, но это сработало для меня, иногда webgrease проблемы сборки иногда проблемы сборки Web.Optimization. Это работало для меня с Microsoft.AspNet.Web.Optimization 1.1.3

Update-Package WebGrease -Version 1.6

Ответ 7

Старый, но золотой...

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

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

  • Удалить Microsoft.AspNet.Web.Optimization
  • В командной строке запуска Nuget: install-package Microsoft.AspNet.Web.Optimization -Version 1.0.0

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

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

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

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

Ответ 8

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

введите описание изображения здесь

Ответ 9

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

Ответ 10

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

Но NuGet имеет создан новый файл app.config, хотя web.config ожидается обновление.

Для меня это сработало, чтобы переместить элемент WebGrease dependAssembly с app.config на web.config <runtime><assemblyBinding>...</assemblyBinding></runtime>.

Ответ 11

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

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

Ответ 12

Alreasy разрешил эту ошибку. Ситуация была проще, чем я думал. Когда вы устанавливаете из nuget новую версию System.Web.Optimization, она ссылается на

//Ссылки: 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 говорит мне, что эта библиотека не подписана. Переход к версии System.Web.Optimization Version = 1.1.0.0, где ссылка:

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

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

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

Ответ 13

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

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

<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>

Ответ 14

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

  • Я сохранил копию файла Web.config моего текущего (поврежденного проекта) в "Corrupted-Web.Config". и закройте проектное решение.
  • Создал новое приложение с тем же типом моего обработанного проекта. называется ProjTemp.
  • Сохраните и запустите "PorjTemp", затем сохраните копию Web.Config для "OrigTemp_Web.config"
  • Закройте файлы Web.config.
  • В "ProjTemp" откройте "Инструменты" → "Менеджер пакетов NuGet" → "Управление Пакеты NuGet для решений "--- > Выберите, чтобы обновить все связанные установленных пакетов. 6 Теперь откройте обновленный файл Web.config. Скопируйте информацию из обновленного "Начиная с"

<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 Сами, Овейс 4 Компьютер

Ответ 15

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