1

我有两个项目

  1. csproj
  2. B.csproj

其中 B 引用 A(引用解决方案中的项目)

我想自动创建包,其中包 B 将包含对包 A 的依赖

我已经使用 nuspec 生成nuget spec A.csproj并使用nuget pack A.csproj. 项目 B 也是如此。

但是 B.nuspec 不包含对 nuget 包 A 的依赖?

我想在 TFS 构建服务器上自动创建 nuget 包,其中程序集版本是在构建时确定的。

在包 B 中,如何将依赖项添加到具有正确版本的包 A?

4

1 回答 1

0

首先,要将引用的项目添加为包的一部分,您需要使用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
于 2015-12-09T07:41:20.657 回答