Nuget pack csproj 依赖于其他 csproj
Nuget pack csproj with dependencies on other csproj
我有两个项目
- 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包添加依赖?
首先,要将引用的项目添加为包的一部分,您需要使用 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
我有两个项目
- 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包添加依赖?
首先,要将引用的项目添加为包的一部分,您需要使用 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