Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/tfs/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Deployment TFS 2013构建-通过FTP将构建输出上传至施维雅_Deployment_Tfs_Build_Ftp - Fatal编程技术网

Deployment TFS 2013构建-通过FTP将构建输出上传至施维雅

Deployment TFS 2013构建-通过FTP将构建输出上传至施维雅,deployment,tfs,build,ftp,Deployment,Tfs,Build,Ftp,我希望有人能帮忙。我已经开始使用,特别是FTP活动。我遵循这一原则,很容易就解决了这个问题。不过我遇到了一个主要问题 我的Web应用程序有一个足够基本的结构: 我首先创建FindMatchingFile活动,该活动将放置在放置位置的文件放入名为FilesToFTP的IEnumberable变量中: String.Format("{0}\**\*.*", BuildDetail.DropLocation) 当我遍历变量并打印结果时,一切似乎都是正确的: G:\builds\Build.1203

我希望有人能帮忙。我已经开始使用,特别是FTP活动。我遵循这一原则,很容易就解决了这个问题。不过我遇到了一个主要问题

我的Web应用程序有一个足够基本的结构:

我首先创建FindMatchingFile活动,该活动将放置在放置位置的文件放入名为FilesToFTP的IEnumberable变量中:

String.Format("{0}\**\*.*", BuildDetail.DropLocation)
当我遍历变量并打印结果时,一切似乎都是正确的:

G:\builds\Build.1203\CredentialManagement\bin\BusLogic.dll
G:\builds\Build.1203\CredentialManagement\css\style.css
G:\builds\Build.1203\CredentialManagement\AppError.aspx
......
G:\builds\Build.1203\CredentialManagement\Web.config
等等

问题是,当我将IEnumerable传递给Ftp活动(将其转换为字符串数组)时,它会Ftp上载服务器上的所有文件,但它不会保留我的Web应用程序的目录结构。它只是将所有输出(DLL、aspx等)堆积到一个目录中。请参见以下两个屏幕截图


是否有任何方法可以使用FTP活动递归地上载放置位置的所有输出?我觉得我做了一些简单的错误。

TFS构建扩展中的FTP活动不会递归上传文件


我认为这将是一个很好的附加值的活动。请为项目创建一个请求,我们将添加它。现在,您可以循环调用每个目录的Ftp活动,并为每个目录设置RemoteDirectory。

感谢您的回复。我想可能是这样的,所以我已经采取了预防措施,并写下了这样做的逻辑。谢谢巴里。我认为你的建议是一个很好的附加值,可以在这个活动中完成。