我有两个项目
其中B引用A(对解决方案中的项目的引用)
我想自动创建包,其中包B将包含对包A的依赖性
我使用nuget spec A.csproj
生成了nuspec,并使用nuget pack A.csproj
创建了包。项目B也是如此。
然而B.nuspec不包含对nuget包A的依赖性?
我想在TFS构建服务器上自动创建nuget包,其中程序集版本是在构建时确定的。
在包B中,如何使用正确的版本向包A添加依赖关系?
答案 0 :(得分:0)
首先,要将引用的项目添加为包的一部分,您需要使用 IncludeReferencedProjects 选项。 命令行类似于" nuget pack A.csproj -IncludeReferencedProjects"
其次,由于您希望在TFS构建过程中创建NuGet包,您需要创建一个类似于以下内容的PowerShell脚本,并在预构建脚本中包含PowerShell脚本(假设您正在使用TFS2013或TFS2015)。
$projectFile = "project.csproj"
$nugetPath = “NuGet.exe"
$version = $Env:TF_BUILD_BUILDNUMBER
Write-Host ("packing $projectFile...")
& $nugetPath pack "$projectFile" -Version $version -Symbols -IncludeReferencedProjects