build.artifactstagingdirectory 不存在 Azure Devops

build.artifactstagingdirectory doesn't exist Azure Devops

我正在尝试发布 ClickOnce 应用程序。为此,我正在使用 msbuild publish 目标参数构建项目,将文件复制到工件暂存目录,然后尝试通过 FTP.

上传该目录

但是,ftpupload 任务失败了:

出现以下错误:

550 The system cannot find the file specified.

550 The system cannot find the file specified.

此错误并不表示 build.artifactstagingdirectory 文件夹中缺少指定的文件。

实际上,即使 build.artifactstagingdirectory 文件夹为空,任务也总是会成功并显示警告 Could not find any files to upload

要使 FTP 上传任务成功,您可能需要检查您对该任务的 Remote directory 输入并确保您的 FTP 远程服务器配置正确。

1.Assuming 您的远程主目录是 C:\FTPfolder。如果您想将文件上传到 C:\FTPfolder\TestFolder,您应该使用 /TestFolder/ 作为输入。 (注意斜线)

2.If您的上传任务会在此过程中在远程目录中创建一个新文件夹,您应确保用户帐户具有相关目录访问权限,例如创建子文件夹...

PS:我在我的自托管代理中 运行 此管道将文件上传到带有 Serv-U ftp 服务器的远程计算机中的远程目录。这个任务在我这边很顺利。

出于某种原因,删除远程目录字段开头的 / 修复了它。但是,大多数人说开头的 / 是必需的。它可能因一台 FTP 服务器而异。