我希望有人可以提供帮助。我已经开始使用Community TFS Build Extensions,特别是FTP活动。我跟着documentation here,很容易掌握它。我遇到了一个主要问题。
我的网络应用程序具有足够基本的结构:
我首先创建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活动递归上传丢弃位置的所有输出?我觉得我做了一些简单的错误。
答案 0 :(得分:1)
TFS Build Extensions中的FTP活动不会递归上传文件。
我认为这对活动来说是一个很好的增值。请创建项目请求,我们将添加它。现在,你可以通过递归调用每个目录的Ftp活动并为每个目录设置RemoteDirectory来绕过它。