У меня есть внутренний пакет NuGet, содержащий одну dll, никаких внешних зависимостей пакета NuGet и преобразований web.config.Nuget Update-Package неправильно обновляет переадресацию связывания сборки
Тем не менее, когда я запустить Update-пакет на моих проектах (класс Lib и веб-сайт) для этого конкретного NuGet, он автоматически обновляет свой веб-сайт web.config сборки обязательных переадресовывает к старых версий System.Web.Mvc и Newtonsoft .Json. На веб-сайте web.config в настоящее время они привязаны к последней используемой версии.
Использование GUI, используя управление пакетами NuGet для решения ... Я выбираю ОБНОВЛЕНИЕ этого NuGet для применимых проектов, которые ссылаются на старую версию. Затем выберите Обновить
Вот выход из диспетчера пакетов: http://pastebin.com/3ySwTRFR
И мой web.config пошел от:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-6.0.0.0" newVersion="6.0.0.0" />
</dependentAssembly>
To:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="0.0.0.0-4.0.0.1" newVersion="4.0.0.1" />
</dependentAssembly>
<dependentAssembly>
<assemblyIdentity name="Newtonsoft.Json" publicKeyToken="30ad4fe6b2a6aeed" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.5.0.0" newVersion="4.5.0.0" />
</dependentAssembly>
В пакет NuGet Я обновляю имеет dll, который ссылается на Newtonsoft.Json (но явно не указан зависимость пакета NuGet)
Когда неизвестный разработчик обновляет этот пакет NuGet, он прерывает рабочую среду, ища старую версию DLL MVC или JSON.NET.
В прошлом я попытался использовать -IgnoreDependencies powershell command switch, но это, похоже, не влияет на проблему.
Любая идея о том, что может трансформировать мои web.configs (без явного преобразования) во время обновления пакета?
Редактировать: VS2015 w/NuGet 3.3.0, по-видимому, ведет себя лучше ... во время случайного обновления пакета он обнаружил, что старый BAD-привязка перенаправляет и исправляет его!
BTW, команда консоли консоли Add-BindingRedicrect не работает. Он обновляет только 3 из 72 ссылочных пакетов. Предоставленный мной сценарий проходит через все из них и действует на любых pacakges в файле package.config, если DLL не существует в каталоге BIN. – RashadRivera