如何设置TFS NuGet Packager目标文件夹?

如何设置TFS NuGet Packager目标文件夹?,tfs,build,nuget,nuget-package,nuget-package-restore,Tfs,Build,Nuget,Nuget Package,Nuget Package Restore,我在TFS 2017中添加了一个新的构建步骤,以将我的DLL打包到nuspec(NuGet Packager)中。 我的问题是无法设置目标文件夹 “文件包文件夹”的说明如下 将在其中创建包的文件夹。如果为空,则将删除包 与csproj或nuspec文件一起创建 当我将此字段留空时,我希望按照信息中的描述在“$/MyProject/Common/”中创建它。但它会一直在builder代理根文件夹中创建它。并添加“-OutputDirectory”C:_work\24\s”“,即使我正在包文件夹中

我在TFS 2017中添加了一个新的构建步骤,以将我的DLL打包到nuspec(NuGet Packager)中。 我的问题是无法设置目标文件夹

文件包文件夹”的说明如下

将在其中创建包的文件夹。如果为空,则将删除包 与csproj或nuspec文件一起创建

当我将此字段留空时,我希望按照信息中的描述在“$/MyProject/Common/”中创建它。但它会一直在builder代理根文件夹中创建它。并添加“-OutputDirectory”C:_work\24\s”“,即使我正在包文件夹中写入另一个文件夹

我在这里干什么? 对于TFS中的每个版本构建,是否有更好的方法来打包和发布nuget

NuGet打包机日志:

2017-04-02T15:01:51.3457383Z Set workingFolder to default: C:\agent\tasks\NuGetPackager\0.1.72
2017-04-02T15:01:51.3769893Z Executing the powershell script: C:\agent\tasks\NuGetPackager\0.1.72\NuGetPackager.ps1
2017-04-02T15:01:51.6426327Z C:\agent\agent\worker\tools\NuGet.exe pack "C:\_work\24\s\Common\Common.nuspec" -OutputDirectory "C:\_work\24\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\24\s\Common.1.0.17092.08.nupkg'.

只需指定要放置包的文件夹

指定要放置包的文件夹。你可以使用 变量,如
$(Build.stagindirectory)\packages


更新

当您将文件夹留空时,它将自动添加outputdir=builder代理根文件夹的参数。当您输入
$/MyProject/Common
时,它将基于
生成器代理根文件夹/$/MyProject/Common

根据位于
C:\agent\tasks\NuGetPackager\xxx\NuGetPackager.ps1的powershell脚本

 $argsPack = "pack `"$fileToPackage`" -OutputDirectory `"$outputdir`" -Properties $buildProps";
所以它肯定会把它放在代理根文件夹中。回到描述:

如果将其保留为空,则将在相同的文件夹中创建包 包含.csproj或.nuspec文件的目录

不确定同一目录表示同一文件夹级别。但是,“并排”似乎意味着相同的文件夹级别


您可以在中提交一个bug,或者这两个bug都会得到TFS开发团队的快速响应

最终,我成功地将包文件夹路径直接用于服务器路径,如$/MyProject/Common。但问题是,当我将其留空时,它总是将其放在代理根文件夹中。例如,nuspec的路径是直接将包文件夹路径与服务器路径一起使用,例如$/MyProject/Common/dir_a/dir_b/mynu.nuspec-->nupkg将在“$”(C:_work)中创建,而不是像预期的那样在“$/MyProject/Common/dir_a/dir_b”中创建。@AviramFireberger在查看了更多详细信息后,得到了与您相同的结果。不确定相同的目录是否意味着相同的文件夹级别。建议您在github或开发社区中提交错误报告。更多详细信息请参见我的更新回复。太好了,感谢您的详细回答。我在开发者社区中打开了一份报告: