如何设置 TFS NuGet Packager 目标文件夹?
How to set the TFS NuGet Packager destination folder?
我在 TFS 2017 中添加了新的构建步骤,将我的 DLL 打包到 nuspec (NuGet Packager)。
我的问题是我无法设置目标文件夹。
“包文件夹”的描述是
Folder where packages will be created. If empty, packages will be
created alongside the csproj or nuspec file.
当我将此字段留空时 我希望它按照信息中的描述在“$/MyProject/Common/” 中创建。但它一直在构建器代理根文件夹中创建它。并添加 "-OutputDirectory "C:_work\s"" 即使我正在包文件夹中编写另一个文件夹。
我在这里拧干什么?
有没有更好的方法来为 TFS 中的每个版本构建打包和发布 nuget?
NuGet 打包程序日志:
2017-04-02T15:01:51.3457383Z Set workingFolder to default: C:\agent\tasks\NuGetPackager[=10=].1.72
2017-04-02T15:01:51.3769893Z Executing the powershell script: C:\agent\tasks\NuGetPackager[=10=].1.72\NuGetPackager.ps1
2017-04-02T15:01:51.6426327Z C:\agent\agent\worker\tools\NuGet.exe pack "C:\_work\s\Common\Common.nuspec" -OutputDirectory "C:\_work\s" -version 1.0.17092.08
2017-04-02T15:01:52.0332823Z Attempting to build package from 'Common.nuspec'.
2017-04-02T15:01:52.1895494Z Successfully created package 'C:\_work\s\Common.1.0.17092.08.nupkg'.
只需指定要放置包的文件夹即可。
Specify the folder where you want to put the packages. You can use a
variable such as $(Build.StagingDirectory)\packages
更新
当您将文件夹留空时,它将自动添加 outputdir= builder agent 根文件夹的参数。当您输入 $/MyProject/Common
时,它将根据 builder agent root folder/$/MyProject/Common
创建文件夹
根据位于 C:\agent\tasks\NuGetPackager\xxx\NuGetPackager.ps1
的 powershell 脚本
$argsPack = "pack `"$fileToPackage`" -OutputDirectory `"$outputdir`" -Properties $buildProps";
所以肯定会放在agent根文件夹下。返回说明:
If you leave it empty, the package will be created in the same
directory that contains the .csproj or .nuspec file.
不确定同一目录表示是否同一文件夹级别。然而 alongside 似乎意味着相同的文件夹级别。
您可以在 GITHub-VSTS Tasks or Develop Community-Team Services 中提交错误,两者都会得到 TFS 开发团队的快速响应。
我在 TFS 2017 中添加了新的构建步骤,将我的 DLL 打包到 nuspec (NuGet Packager)。 我的问题是我无法设置目标文件夹。
“包文件夹”的描述是
Folder where packages will be created. If empty, packages will be created alongside the csproj or nuspec file.
当我将此字段留空时 我希望它按照信息中的描述在“$/MyProject/Common/” 中创建。但它一直在构建器代理根文件夹中创建它。并添加 "-OutputDirectory "C:_work\s"" 即使我正在包文件夹中编写另一个文件夹。
我在这里拧干什么? 有没有更好的方法来为 TFS 中的每个版本构建打包和发布 nuget?
NuGet 打包程序日志:
2017-04-02T15:01:51.3457383Z Set workingFolder to default: C:\agent\tasks\NuGetPackager[=10=].1.72
2017-04-02T15:01:51.3769893Z Executing the powershell script: C:\agent\tasks\NuGetPackager[=10=].1.72\NuGetPackager.ps1
2017-04-02T15:01:51.6426327Z C:\agent\agent\worker\tools\NuGet.exe pack "C:\_work\s\Common\Common.nuspec" -OutputDirectory "C:\_work\s" -version 1.0.17092.08
2017-04-02T15:01:52.0332823Z Attempting to build package from 'Common.nuspec'.
2017-04-02T15:01:52.1895494Z Successfully created package 'C:\_work\s\Common.1.0.17092.08.nupkg'.
只需指定要放置包的文件夹即可。
Specify the folder where you want to put the packages. You can use a variable such as
$(Build.StagingDirectory)\packages
更新
当您将文件夹留空时,它将自动添加 outputdir= builder agent 根文件夹的参数。当您输入 $/MyProject/Common
时,它将根据 builder agent root folder/$/MyProject/Common
根据位于 C:\agent\tasks\NuGetPackager\xxx\NuGetPackager.ps1
$argsPack = "pack `"$fileToPackage`" -OutputDirectory `"$outputdir`" -Properties $buildProps";
所以肯定会放在agent根文件夹下。返回说明:
If you leave it empty, the package will be created in the same directory that contains the .csproj or .nuspec file.
不确定同一目录表示是否同一文件夹级别。然而 alongside 似乎意味着相同的文件夹级别。
您可以在 GITHub-VSTS Tasks or Develop Community-Team Services 中提交错误,两者都会得到 TFS 开发团队的快速响应。