Ich habe ein internes NuGet-Paket, das eine einzelne DLL, keine externen NuGet-Paketabhängigkeiten und keine web.config-Transformationen enthält.Nuget Update-Paket aktualisiert die Assembly-Binding-Weiterleitungen falsch
Doch wenn ich ein Update-Paket auf meine Projekte (Klasse lib und Website) für diese spezifische NuGet laufen, wird es automatisch meine Website web.config Montage Bindung Umleitungen zu ältere Versionen von System.Web.Mvc und Newtonsoft aktualisiert .Json. Auf der Website web.config sind sie aktuell an die aktuellste Version gebunden.
Mit der GUI, mit NuGet-Pakete verwalten für Lösung ... Ich möchte dieses NuGet für anwendbare Projekte aktualisieren, die einen Verweis auf die alte Version haben. Aktualisieren Sie dann wählen
Hier die Ausgabe von Package Manager ist: http://pastebin.com/3ySwTRFR
Und mein web.config aus ging:
<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>
An:
<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>
The NuGet Paket Ich bin Aktualisierung hat eine DLL, die Newtonsoft.Json verweist (aber nicht explizit eine NuGet-Paketabhängigkeit)
Wenn ein unwissender Entwickler dieses NuGet-Paket aktualisiert, unterbricht es die Laufzeit, indem es nach einer alten Version von MVC- oder JSON.NET-DLLs sucht. In der Vergangenheit habe ich versucht, -IgnoreDependencies powershell command switch zu verwenden, aber dies scheint keine Auswirkungen auf das Problem zu haben.
Irgendeine Idee, was könnte meine web.configs (ohne eine explizite Transformation) während Update-Paket transformieren?
Edit: VS2015 w/NuGet 3.3.0 scheint sich besser zu benehmen ... beim zufälligen Paketupdate fand es eine alte BAD Binding Redirect und korrigierte es!
BTW, das Add-BindingRedicrect-Paket Konsolenbefehl funktioniert nicht. Es aktualisiert nur 3 von 72 referenzierten Paketen. Das Skript, das ich zur Verfügung gestellt habe, durchläuft alle von ihnen und handelt auf alle Pacakges in der "packages.config", es sei denn, die DLL existiert im BIN-Verzeichnis. – RashadRivera