2017-05-06 149 views
0

我有一個包含多個項目的Visual Studio 2015解決方案。其中一些項目相互引用。實施例從Visual Studio解決方案創建多個Nuget包

Solution 
    Project A 
    Project B - references Project A 

在TeamCity的,我要爲每個這些項目創建的NuGet包,使得當的NuGet正在生成從項目B的軟件包,我希望它是意識到,項目A具有NuGet包和參考該Nuget包而不必使用-IncludeReferencedProjects標誌。

這可能嗎?如果是,如何?

回答

1

使用VS 2017年(或dotnet CLI工具 - 標有「.NET SDK核心」),您可以使用具有正是行爲的新的基於SDK-的csproj加工建庫:每個項目都將產生一個獨立的NuGet包和項目引用將被替換爲NuGet依賴關係。

要做到這一點,使用(在命令行或dotnet new lib)的.NET標準庫項目模板 - 如果你想建立自己的圖書館爲.NET Framework,從netstandard1.4csproj文件改變<TargetFramework>元素的內容例如net461(這裏只是沒有一個.NET框架庫模板(使用新的項目系統/工具)?)。

要構建的NuGet包,那麼你在你的CI構建使用dotnet packmsbuild /t:Pack(有一個TeamCity的插件使用.NET的核心工具,以及構建。見https://blog.jetbrains.com/teamcity/2016/11/teamcity-dotnet-core/)。

+0

嗨馬丁,謝謝......我忘記提及我正在使用VS 2015 –

+0

好吧..如果你想將它作爲一個簡單的功能,那就是升級的原因。 Nuget <4/vs2015解決方案需要手工編輯nuspec文件或編寫腳本來生成這些文件,這是很難設置和維護的。 –

相關問題