Tôi có gói NuGet nội bộ chứa một dll đơn, không phụ thuộc gói NuGet bên ngoài và không có biến đổi web.config.Nuget Update-Package không chính xác cập nhật chuyển hướng ràng buộc lắp ráp
Tuy nhiên, khi tôi chạy Update-Package vào các dự án của tôi (lớp lib và trang web) cho NuGet cụ thể này, nó sẽ tự động được cập nhật trang web của tôi web.config ← liên kết lắp ráp ràng buộc để phiên bản cũ của System.Web.Mvc và Newtonsoft .Json. Trang web web.config hiện có chúng ràng buộc với phiên bản mới nhất đang được sử dụng.
Sử dụng GUI, sử dụng Quản lý gói NuGet cho Giải pháp ... Tôi chọn CẬP NHẬT NuGet này cho các dự án có thể có tham chiếu đến phiên bản cũ. Sau đó chọn Cập nhật
Đây là kết quả từ Package Manager: http://pastebin.com/3ySwTRFR
Và web.config của tôi đã đi từ:
<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>
Để:
<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>
Các gói NuGet Tôi đang cập nhật có một dll tham khảo Newtonsoft.Json (nhưng không rõ ràng là đã làm phụ thuộc gói NuGet)
Khi không biết nhà phát triển cập nhật gói NuGet này, nó sẽ phá vỡ thời gian chạy tìm phiên bản cũ của MVC hoặc JSON.NET dll.
Trước đây tôi đã cố gắng sử dụng -IgnoreDependencies powershell command switch, nhưng điều này dường như không ảnh hưởng đến vấn đề này.
Bất kỳ ý tưởng nào về những gì có thể chuyển đổi web.configs của tôi (không có biến đổi rõ ràng) trong gói cập nhật?
Chỉnh sửa: VS2015 w/NuGet 3.3.0 có vẻ hoạt động tốt hơn ... trong khi cập nhật gói ngẫu nhiên, nó tìm thấy một chuyển hướng ràng buộc BAD cũ và sửa nó!
BTW, lệnh điều khiển gói Add-BindingRedicrect không hoạt động. Nó chỉ cập nhật 3 trong số 72 gói được tham chiếu. Kịch bản mà tôi cung cấp đi qua tất cả chúng và hành động trên bất kỳ pacakges nào trong "packages.config" trừ khi DLL tồn tại trong thư mục BIN. – RashadRivera