2017-08-07 33 views
1

我首先說我從來沒有管理NuGet軟件包的經驗,即使是最簡單的軟件包也沒有。不過,我打算在我的下一個項目中使用它,其中設計可能依賴於我的問題的答案。在一個解決方案中可以有多個NuGet配置嗎?

爲了更好地理解這一問題,假設我們有以下的項目,所有在一個解決方案:

  • 核心
  • 酒吧

兩個酒吧取決於核心,但不是 彼此。
因此,我想創建一個NuGet包爲 + 核心組合,以及一個用於酒吧 + 核心組合,沒有他們分開到不同的解決方案。

這種情況可能嗎?

+0

您應該使用nuget pack foo.csproj -IncludeReferencedProjects(注意pack命令應用於foo),因爲IncludeReferencedProjects選項還會添加引用項目的依賴關係。可能的重複:https://stackoverflow.com/questions/16173568/build-nuget-package-automatically-including-referenced-dependencies –

回答

2

是的,你的情況是可能的。 NuGet包創建不依賴於項目所屬的解決方案。 您可以定義自己的nuspec文件來打包一個包,也可以使用csproj文件來打包。看看:https://docs.microsoft.com/en-us/nuget/tools/nuget-exe-cli-reference

注意:NuGet主要打包.dll文件到一個包。即使使用.csproj文件,它也會查看並從該位置獲取.dll。儘管你可以選擇使用NuSpec文件來存儲源代碼。

對於NuSpec文件:

  • 要打包什麼完全取決於你,你又能怎樣在NuSpec文件去 中,在東西。

對於.csproj的文件(我認爲這是你應該用什麼):

  • 使用nuget pack <nuspecPath | projectPath> [options]命令 IncludeReferencedProjects作爲一個選項,併爲projectpath Foo和Bar獨立。這將創建兩個獨立的NuGet包 滿足您的需求。
+0

謝謝,將嘗試它。 –

+0

太棒了!讓我知道事情的後續。此外,請嘗試使用NuGet規範自動生成NuSpec文件,以防您想要追蹤該路線。 – BikerDude

+0

@TimorGruber如果你解決了問題,請讓我知道!否則,我可以進一步幫助你。 – BikerDude

相關問題