這個問題目前是假設的,但有一個真實的基礎。如何替換第三方nuget軟件包的依賴關係?
供應商X的NuGet軟件包A依賴於供應商Y的NuGet軟件包B和Microsoft的System.Runtime。
我們發現有必要將B(它是開源的)分支到B'來修復B不願修復的錯誤。讓我們說我們在B'後面有幾個版本(這最終肯定會是真的)。
項目Q取決於A和B'。
我該如何讓nuget完全不知所措。我有一個用於構建nuget緩存目錄的腳本,但是如果我們只需運行nuget restore並獲得正確的答案,就會更有意義。
從理論上講,我們可以說我們可以發佈B到nuget.org,但是B在阻止上傳的方式。沒有機會說服X使用我們的B'而不是Y的B,而X是封閉的源,所以我們不能重新編譯它。
您是否更改包ID?如果你沒有,你可以在消費項目中指定確切的版本(例如'2.1.9-internal-fixed')並且存在降級警告。 –
(它需要在內部源或目錄包源中可用) –
@MartinUllrich:我有能力做到這一點。如果你寫完整個事情,我可以接受這樣的答案。現在它缺少部分,但我可以想象需要做些什麼。 – Joshua