下午好,
说是否可以使用MSBuild扩展包为文件或文件夹活动(例如removecontent)提供凭据(用户名/密码)?在...中,构建用户不需要我想用来删除/使用我需要修改/删除的某些文件夹/文件(例如远程使用UNC共享)。
这可行吗?我有点失落: - /
干杯谢谢,
-J
答案 0 :(得分:2)
RemoveContent
任务和MSBuild Extension Pack的其他文件夹任务在内部使用DirectoryInfo
。
要访问远程文件夹DirectoryInfo
句柄UNC path
,问题是您无法将凭据放在UNC path
中。因此,只能使用RemoveContent
任务直接执行您想要的操作。
更好:将文件夹映射到网络驱动器,并在MSBuild任务中使用此网络驱动器。这可以使用MSBuild Exec
任务和net
命令
<Target Name="MapAndRemove">
<!-- Map the remote folder with credential -->
<Exec Command="net use Z: \\ServerName\ShareName\YourFolder {Password} /user:{User} /yes"/>
<!-- Remove content in remote folder using network drive -->
<MSBuild.ExtensionPack.FileSystem.Folder TaskAction="RemoveContent"
Path="Z:\"/>
</Target>
更难:编写一个MSBuild自定义任务,执行您想要的任务并将凭据作为参数。