如何将文件作为其他用户从msbuild复制?

时间:2009-07-21 16:35:59

标签: c# .net msbuild

我正在尝试将文件复制到远程服务器,但我运行构建服务器的帐户没有权限。如何使用不同的凭据进行操作?

2 个答案:

答案 0 :(得分:11)

最好创建一个使用Impersonator Uwe Keim的CallTarget任务的快速扩展,如下所示:

public class Impersonate : CallTarget
{
    public string Domain { get; set; }

    [Required]
    public string UserName { get; set; }

    [Required]
    public string Password { get; set; }

    public override bool Execute()
    {
        using (new Impersonator(this.UserName, this.Domain, this.Password))
        {
            return base.Execute();
        }
    }
}

然后调用将如下所示:

<Target Name="DoSms">
    <....>
</Target>

<Target Name="Impersonate">
    <Impersonate Targets="DoSms" UserName="username" Password="password" Domain="domain"/>
</Target>

答案 1 :(得分:5)

尝试使用Exec任务执行运行xcopy.exe的RunAs.exe