Не удалось загрузить файл или сборку 'WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35' или одну из ее зависимостей
у меня есть проект веб-api MVC4. при запуске проекта службы я получаю сообщение об ошибке
не удалось загрузить файл или сборку "WebGrease, Version=1.5.1.25624, Culture=neutral, PublicKeyToken=31bf3856ad364e35" или одну из ее зависимостей. Система не может найти указанный файл.
я добавил WebGrease.dll-файл и все еще его предстоящая ошибка
и попытался с изменением сеть.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" />
прошу совета, что мне не хватает.
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.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>
и обновление в этом узле в файле 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>
Keep in имейте в виду, что у меня не было проблемы на моей локальной машине, только на веб-сервере сцены. Я хотел сделать все возможное, чтобы решить проблему без обновления пакета, но это было единственное исправление, которое у меня было.
пробовал много вещей, но это сработало для меня иногда проблемы с сборкой webgrease иногда в Интернете.Вопросы оптимизации сборки. Это сработало для меня с Microsoft.сеть САШ.Сеть.Оптимизация 1.1.3
Update-Package WebGrease -Version 1.6
Олди, но Голди...
Я работал над проектом MVC 5 в Visual Studio 2013, и у меня была та же проблема. Мы использовали Visual SVN для управления версиями, и я был единственным в моей команде, у кого была эта проблема.
единственное, что сработало для меня, это:
- Удалить Microsoft.сеть САШ.Сеть.Оптимизация
- в командной строке 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 элемент. Для меня я удалил его полностью.
Так как я не смог удалить с помощью консоли package manger, я вручную пошел в packages.config
и прокомментируйте более старую версию.
Я "Install-Package Microsoft.AspNet.Web.Optimization"
(текущая версия 1.1.3) для starup веб-проекта, который не был выбран в консоли NuGet по умолчанию.
но NuGet для и создал новое приложение.config файл, даже если веб.config ожидается обновление.
для меня это сработало до переместить webgrease dependentAssembly элемент app.config
to web.config
' s <runtime><assemblyBinding>...</assemblyBinding></runtime>
.
другие ответы не разрешили это для меня. Мы добавляем новый проект MVC 5 API, и он не играл хорошо со старыми MVC 2 API. После запуска обновлений пакета я получал указанную ошибку. Для меня было решено удалить ссылки WebGrease, добавленные NuGet в интернете.config-это оскорбительные проекты.
Решения: Откройте сеть.конфигурация проекта(ов), выбрасывающего исключение и удаляющего или комментирующего зависимость, добавленную для WebGrease.
Alreasy разрешил эту ошибку. Ситуация оказалась проще, чем я думал. При установке из nuget новой версии системы.Сеть.Оптимизация имеет ссылку на
// ссылки: WebGrease, Version=1.5.1.25624, Culture=нейтральный, PublicKeyToken=31bf3856ad364e35
в то же время у меня есть WebGrease версии 1.5.2.14234. Запуск проекта, у нас есть эта ошибка: не удалось загрузить файл или сборку " WebGrease, Version=1.5.1.25624
Soo, я пытаюсь проверить эту версию на nuget и удивился, что это не так...но когда я создаю новый проект с VS - я его получил. Чтобы взломать эту ошибку я пытаюсь установить ее в GAC..но gac говорит мне, что этот lib не подписан. Понижение до системного.Сеть.Версия оптимизации=1.1.0.0, где ссылка:
// ссылки: WebGrease, версия=1.3.0.0, культура=нейтральная, 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>
вот что я сделал, чтобы обойти его,
- Я сохранил копию Интернета.конфигурационный файл моего текущего (поврежденного проекта) в "поврежденный-Web.Конфигурация." и закройте проектное решение.
- создал новое приложение с тем же типом моего проекта courrpted. назвал это Projectemp.
- сохраните и запустите "PorjTemp", затем сохраните копию Интернета.Конфиг "OrigTemp_Web.config"
- закройте сеть.конфигурационный файл.
- на" ProjTemp " открыть Инструменты -- > "Менеджер Пакетов NuGet" -- > " Управление Пакеты NuGet для решений " - - - > Выберите, чтобы обновить все связанные установка пакетов. 6 Теперь откройте обновленную веб-страницу.конфигурационный файл. Скопируйте полученную информацию из обновленного ""начиная с"
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
--- Copy this section to replace in the corrupted file.---
</assemblyBinding>
</runtime>
- сохранить проект. Перестроить и запустить. Надеюсь, это поможет! ....
вот исправленный, например, 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 Компьютер