0
我有一個項目使用2個NuGet依賴項:FreeSpire.Doc和FreeSpire.Xls,它們都依賴於FreeSpire.Pdf庫。問題是他們依賴於不同版本的庫。而在運行時我已經得到一個異常添加不同版本的庫
無法鍵入 「3」 從程序集加載 「Spire.Pdf,版本= 3.6.230.55040,文化=中性公鑰= 663f351905198cb3」
是有沒有辦法在項目中擁有兩個版本的庫?
我有一個項目使用2個NuGet依賴項:FreeSpire.Doc和FreeSpire.Xls,它們都依賴於FreeSpire.Pdf庫。問題是他們依賴於不同版本的庫。而在運行時我已經得到一個異常添加不同版本的庫
無法鍵入 「3」 從程序集加載 「Spire.Pdf,版本= 3.6.230.55040,文化=中性公鑰= 663f351905198cb3」
是有沒有辦法在項目中擁有兩個版本的庫?
就我所知,在同一個項目中不能有兩個版本的NuGet包。
如果一個指向舊版本可以用較新的版本工作,但它必須是一個醜陋的黑客攻擊,如:
手動添加所需的DLL作爲參考(如果是一個開源項目,你甚至可以自己編譯它)。
將邏輯分爲兩個不同的項目,並始終構建指向較舊版本之後的新版本的邏輯。
如果您可以以某種方式將DLL安裝到GAC中,那麼您可能可以同時運行兩個版本。
1.它不是開源的;在這種情況下,人們仍然會推翻另一方; 3.由於clickonce部署不支持GAC,因此我無法使用GAC。 –
嘗試創建兩個項目,每個包一個。編譯它們並從每個輸出文件夾中獲取每個包的程序集,但是從使用較新版本的項目的輸出文件夾中獲取共享程序集。最後,將它們作爲常規參考添加到主項目中。 這是一個黑客攻擊,當發佈新版本的軟件包時,您需要手動更新程序集,但它可能會起作用! –