下午好,
说是否可以使用MSBuild扩展包为文件或文件夹活动(例如removecontent)提供凭据(用户名/密码)?在…中,构建用户不需要我想用来删除/使用我需要修改/删除的某些文件夹/文件(例如远程使用UNC共享).
这可行吗?我有点失落: – /
干杯谢谢,
-J
最佳答案 RemoveContent任务和MSBuild Extension Pack的其他文件夹任务在内部使用DirectoryInfo.
要访问远程文件夹DirectoryInfo处理UNC路径,问题是您不能将凭证放在UNC路径中.因此,只能使用RemoveContent任务直接执行您想要的操作.
解决方法:
>简单的一个:赋予构建代理权限
>更好:将文件夹映射到网络驱动器,并在MSBuild任务中使用此网络驱动器.这可以使用MSBuild Exec task和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自定义任务做你想要的,并将凭证作为参数.