簡體   English   中英

創建nuget:無法打包引用的dll

[英]creating nuget: can not package referenced dlls

我正在嘗試使用“ Nuget Package Explorer”創建一個nuget。 該項目引用2個dll目標.net4.0和主要dll目標.net4.5。

按照規定,我將2個引用的dll放在名為“ net40”的“ lib”文件夾內的文件夾中,將主dll放在名為“ net45”的文件夾中,然后我將nuget推到此處

但是,當我嘗試將其安裝在另一個項目中時,它不會占用任何dll!

難道我做錯了什么 ?

謝謝。

更新:

nuget軟件包包含:

lib (folder)
    net45 (folder)
        MainAssembly.dll -> targets .net_4.5
        Microsoft.VisualStudio.TextTemplating.10.0 -> targets .net_4
        Microsoft.VisualStudio.TextTemplating.Interfaces.10.0 -> targets .net_4

筆記:

  • MainAssembly需要另外兩個組件
  • 我只想針對.net 4.5版

問題 :

使用上述結構創建nuget包不起作用,在新項目中安裝MainAssembly不會添加引用列表,而只會添加其他兩個程序集。

該項目引用2個dll目標.net4.0和主要dll目標.net4.5。

按照規定,我將2個引用的dll放在名為“ net40”的“ lib”文件夾內的文件夾中,將主dll放在名為“ net45”的文件夾中,然后我將nuget推到此處

NuGet包可以針對多個.NET Framework版本。 但是,.NET項目不能。

必須將您的從屬程序集放在相同的.NET Framework版本文件夾中,以便將它們安裝到目標項目中。 因此,如果您希望您的NuGet包以4.0和4.5為目標,則結構應如下所示:

lib
    net40
        MainAssembly.dll
        DependentAssembly1.dll
        DependentAssembly2.dll
    net45
        MainAssembly.dll
        DependentAssembly1.dll
        DependentAssembly2.dll

每個組中的主程序集必須針對與父文件夾相同的框架版本。 從屬程序集可以將與目標版本相同或更低的任何版本作為目標。

請注意,通常每個程序集都打包為一個單獨的NuGet程序包,並且NuGet程序包相互依賴,而不是將相關的組件放入同一程序包中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM