使用MSDeploy将控制台应用程序部署到DMZ服务器

Per*_*Per 6 msbuild tfs tfsbuild msdeploy tfs2010

我正在尝试使用带有MSBuild和Team Foundation Server的autodeploy将控制台应用程序部署到DMZ服务器上的文件夹.

我已经在同一台服务器上部署了多个站点,效果很好.我尝试了多种方法,但没有部署文件.

首先,我尝试以与我的网站相同的方式部署控制台应用程序,即:

<MSBuild
    Projects="$(SolutionRoot)\MySolution.sln"
    Properties="AllowUntrustedCertificate=True;AuthType=Basic;
    Configuration=DEBUG;CreatePackageOnPublish=True;                                
    DeployIisAppPath=Default Website/dummy.dev.myapp;
    DeployOnBuild=True;DeployTarget=MsDeployPublish;
    MSDeployPublishMethod=WMSvc;
    MsDeployServiceUrl=https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd;
    UserName=userid;Password=password;UseMsdeployExe=True"
/>
Run Code Online (Sandbox Code Playgroud)

没有成功.

编辑:没有返回错误消息.一切似乎进展顺利.

然后,我还尝试按如下方式部署控制台应用程序:

<Exec Command="&quot;C:\Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe&quot; 
                -verb:sync 
                -source:contentpath=&quot;$(OutDir)\MyApp.Precompiled&quot; 
                -dest:contentpath=&quot;D:\dev.myapp&quot;,computername=xxx.xxx.xxx.xxx,username=userid,password=password" 
                ContinueOnError="false" />
Run Code Online (Sandbox Code Playgroud)

我实际上也试过用computername作为https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd.

编辑:以下是我得到的.EXEC:FileOrFolderNotFound EXEC:无法创建"contentPath"类型的对象和路径"E:\ Builds\1 ...\dev.myapp".EXEC:路径'\?\ E:\ Builds\1 ...\dev.myapp'无效.EXEC:1.E:\ Builds\1 ...\BuildType\Targets\Deploy.targets(142):命令""C:\ Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe"-verb:sync -source:contentpath ="E:\ Builds\1 ...\dev.myapp"-dest:contentpath ="D:\ dev.myapp",computername = https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd,username = userid,password = password"退出,代码为-1.我意识到我没有读过所有的错误,我真的需要一个UNC路径吗?

有谁知道如何做到这一点?

Per*_*Per 8

我终于找到了如何让它发挥作用.

<Exec Command="&quot;C:\Program Files\IIS\Microsoft Web Deploy V2\MSDeploy.exe&quot; 
            -verb:sync 
            -source:contentpath=&quot;$(OutDir)\MyApp.Precompiled&quot; 
            -dest:contentpath=&quot;D:\dev.myapp&quot;,computername=https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd,username=userid,password=password,authtype=Basic 
            -allowUntrusted=True" 
            ContinueOnError="false" />
Run Code Online (Sandbox Code Playgroud)

我将计算机名更改为computername = https://xxx.xxx.xxx.xxx:8172/MsDeploy.axd,添加了authtype = BasicallowUntrusted = True并且它有效.

没有任何关于第一个选项出错的反馈是非常令人沮丧的.但是当我使用第二种替代方案时,我得到了反馈.

如果有人知道如何使用MSBuild任务使这项工作,请随时赐教.