【问题标题】:Nuget pack csproj with dependencies on other csprojNuget 包 csproj 依赖于其他 csproj
【发布时间】:2016-03-13 07:46:44
【问题描述】:
我有两个项目
- A.csproj
- B.csproj
其中 B 引用 A(对解决方案中项目的引用)
我想自动创建包,其中包 B 将包含对包 A 的依赖
我使用nuget spec A.csproj 生成了nuspec,并使用nuget pack A.csproj 创建了包。项目 B 也是如此。
但是 B.nuspec 不包含对 nuget 包 A 的依赖?
我想在 TFS 构建服务器上自动创建 nuget 包,其中程序集版本在构建时确定。
在包B中,如何为包A添加正确版本的依赖?
【问题讨论】:
标签:
nuget
tfsbuild
nuget-spec
【解决方案1】:
首先,要将引用的项目添加为包的一部分,您需要使用 IncludeReferencedProjects 选项。
命令行类似于“nuget pack A.csproj -IncludeReferencedProjects”
其次,由于您想在 TFS 构建过程中创建 NuGet 包,您需要创建一个类似于以下内容的 PowerShell 脚本,并将 PowerShell 脚本包含在 Pre-build 脚本中(假设您使用的是 TFS2013 或TFS2015)。
$projectFile = "project.csproj"
$nugetPath = “NuGet.exe"
$version = $Env:TF_BUILD_BUILDNUMBER
Write-Host ("packing $projectFile...")
& $nugetPath pack "$projectFile" -Version $version -Symbols -IncludeReferencedProjects