【发布时间】:2011-04-15 08:08:07
【问题描述】:
只有我一个人还是这个项目的文档真的很稀缺?
我正在尝试查找如何使用 FtpCreateRemoteDirectory 和一般 FTP 功能,但似乎找不到任何东西。
谷歌搜索 FtpCreateRemoteDirectory,只显示项目的源代码...
【问题讨论】:
标签: msbuild documentation ftp msbuildcommunitytasks
只有我一个人还是这个项目的文档真的很稀缺?
我正在尝试查找如何使用 FtpCreateRemoteDirectory 和一般 FTP 功能,但似乎找不到任何东西。
谷歌搜索 FtpCreateRemoteDirectory,只显示项目的源代码...
【问题讨论】:
标签: msbuild documentation ftp msbuildcommunitytasks
Github 上的最新版本不包含文档 (issue #24)。
Tigris 上的旧版本确实包含 CHM 文件形式的文档:从 project download page 安装 MSBuild.Community.Tasks.msi 后,文档位于安装文件夹中。典型路径为“C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.chm”。
【讨论】:
文档就像你说的那样非常稀缺。 我发现最好的方法是在这里下载最新的源代码:https://github.com/loresoft/msbuildtasks
最新文档也可以直接通过GitHub查看,无需下载源码:https://github.com/loresoft/msbuildtasks/tree/master/Documentation
如果使用 MSI 安装,您还可以查看安装文件夹 (C:\Program Files (x86)\MSBuild\MSBuildCommunityTasks\MSBuild.Community.Tasks.xsd) 中的 XSD,以至少查看哪些任务是提供给您以及与他们相关的文档。
【讨论】:
文档很棒,但完全缺失。 但是,代码确实很容易阅读 - 至少对于找出可用任务及其输入/输出而言是这样。
我的做法:
安装 .NET 反编译器,如 Jetbrains dotPeek(或其他一些 .NET Reflector 免费克隆)。
PM> Install-Package MSBuildTasks(来自 VS)或> nuget install MSBuildTasks(来自 cmd 行)
在上述dotPeek中打开slnDir\.build\MSBuild.Community.Tasks.dll,导航到命名空间MSBuild.Community.Tasks并双击您感兴趣的任务。
利润!
【讨论】:
在寻找相同信息时遇到了这个问题,因此不妨添加一个完整的 MSBuild 目标示例,该目标创建一个 FTP 文件夹,然后将内容复制到新位置。 注意示例上传到安全站点,因此您可能需要更改端口号以适应您的情况。
<Project DefaultTargets="Build" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets" />
<Target Name="MSBuildFTP">
<PropertyGroup>
<ftpHost>Your Host</ftpHost>
<ftpUser>Your username</ftpUser>
<ftpPass>you guessed it.. your password</ftpPass>
</PropertyGroup>
<Message Text="Create the directory if it does not exist - FtpUploadDirectoryContent fails if the dir does not exist" />
<FtpCreateRemoteDirectory
ServerHost="$(ftpHost)"
Port="21"
Username="$(ftpUser)"
Password="$(ftpPass)"
RemoteDirectory="SSL/secure/"
/>
<Message Text="Copy the contents of our directory to the ftp location" />
<FtpUploadDirectoryContent
ServerHost="$(ftpHost)"
Port="21"
Username="$(ftpUser)"
Password="$(ftpPass)"
LocalDirectory="deployment"
RemoteDirectory="SSL/secure"
Recursive="false"
/>
</Target>
</Project>
【讨论】:
您也可以使用 XSD 检查可用选项。
干杯。
【讨论】: