Pacote de atualização Nuget incorretamente atualizando redirecionamentos de ligação de assembly
Eu tenho um pacote NuGet interno que contém uma única dll, nenhuma dependência externa do pacote NuGet e nenhuma transformação web.config.
No entanto, quando executo o Update-Package em meus projetos (classe lib e site) para este NuGet específico, ele atualiza automaticamente o meu site web.config, a ligação de montagem redirecionaMais velho versões do System.Web.Mvc e Newtonsoft.Json. O site web.config atualmente os vincula à versão mais recente em uso.
Usando a GUI, utilizando os pacotes Gerenciar NuGet para a Solução ... eu escolho ATUALIZAR este NuGet para projetos aplicáveis que tenham uma referência à versão antiga. Então escolha Atualizar
Aqui está a saída do Package Manager:http://pastebin.com/3ySwTRFR
E meu web.config foi de:
<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>
Para:
<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>
O pacote NuGet que estou atualizando possui uma dll que faz referência a Newtonsoft.Json (mas não é explicitamente feita uma dependência do pacote NuGet)
Quando um desenvolvedor que desconhece atualiza este pacote NuGet, ele interrompe o tempo de execução procurando pela versão antiga das dlls MVC ou JSON.NET.
No passado, tentei usar o-IgnoreDependencies opção de comando powershell, mas isso parece não ter impacto no problema.
Alguma idéia do que poderia estar transformando meu web.configs (sem uma transformação explícita) durante o pacote de atualização?
Edit: VS2015 com NuGet 3.3.0 parece estar se comportando melhor ... durante a atualização aleatória de pacotes, ele encontrou um redirecionamento de ligação BAD antigo e o corrigiu!