[英]Creating a Nuget Package with Nuget Pack Says to Add a dependency group for net6.0 to the nuspec and Dots Required?
[英].Net not finding referenced dependency required by Nuget package
我們最近設置了本地nuget服務器,以改善對項目中依賴項的處理。 為了打包和推送我們的庫,我們在Visual Studio中使用“新”項目格式,並使用一個名為NuPack-Nuget Packager的市場附加組件。
然后,用於開發的工作流程將創建一個新項目並提取所需的依賴項。
現在,我們在所有工作場所都出現了奇怪的行為。
例如。 我們有2個庫:LibA(版本1.1.0)和LibB(版本2.5.0),其中LibB依賴LibA並將其引用為項目參考。 我的項目通過Nuget引用LibB(版本2.5.0)。
當我更改LibB(現在為2.5.1版)並將其推送到我們的Nuget並更新我的項目中的引用時,一切似乎都可以正常工作,該項目會構建並且沒有錯誤,但是在運行時,一旦執行了引用LibA的代碼(仍然是版本1.1.0,未進行任何更改)我收到FileNotFound異常:程序集LibA,程序集版本1.1.0未找到。
目前唯一的解決方法是將新的LibA打包為1.1.1版(不更改代碼),並將其推送到nuget服務器,並將項目中的引用更新為1.1.1版。
有人知道原因/解決方案嗎?
編輯不能解決問題的事物:
編輯確切的錯誤信息(程序集名稱已更改)
System.IO.FileNotFoundException:'無法加載文件或程序集'Lib.A.Namespace.1.1,Version = 1.1.7,Culture = neutral,PublicKeyToken = null'。 Das System kann die angegebene Datei nicht finden。”
最后一部分的翻譯:“找不到文件”
編輯所有依賴項都被編譯為NetStandard2.0的AnyCPU
問題已確定。 NuPack-Nuget Packager在這里“有毛病”。 對於將來絆腳石的任何人:
我們的問題是NuPack-Nuget包裝機的工作方式。 盡管工作流程似乎很方便(設置Assemblyversion,設置輸出dir,設置nuget服務器,完成),但將不會為包部署而構建項目,因此該項目依賴於先前的構建,該內部仍保留先前的AssemblyVersion。
在發現我們已經刪除了過時的引用(位於User / .Nuget / Packages文件夾中)之后,我們終於找到了解決方案。
我們尚未為構建,打包和部署提供最終的一步式解決方案。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.