.net – MSBuild扩展包:文件/文件夹任务的凭据?

下午好,

说是否可以使用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自定义任务做你想要的,并将凭证作为参数.

点赞