2013-10-18 37 views
0

在爲我的解決方案創建部署項目時,已經注意到了奇怪的行爲。 我正在使用webdeploy部署我的Web應用程序。 並把這個不同的msbuild行爲?

<Exec Command="$(MsBuildBinPath)\msbuild.exe  $(SourceControlPath)\...\myproject.csproj /p:configuration=Release /p:DeployOnBuild=True /p:DeployTarget=MSDeployPublish /p:MSDeployServiceUrl=https://x.x.x.x:8172/msdeploy.axd /p:MSDeployPublishMethod=WMSvc /p:DeployIisAppPath=&quot;Default Web Site&quot; /p:username=username /p:password=password /p:AllowUntrustedCertificate=True /P:CreatePackageOnPublish=True"> 
</Exec> 
在我的部署項目文件

時,它構建和部署我的應用程序沒有問題。

但使用MSBuild任務具有完全相同的一組屬性

<MSBuild Properties="Configuration=$(Configuration);DeployOnBuild=True; 
      DeployTarget=MSDeployPublish;MSDeployServiceUrl=https://x.x.x.x:8172/msdeploy.axd; 
      MSDeployPublishMethod=WMSvc;DeployIisAppPath=&quot;Default Web Site&quot;; 
      UserName=username;Password=password; 
      AllowUntrustedCertificate=True;CreatePackageOnPublish=True" 
      Projects="$(SourceControlPath)\...\myproject.csproj" 
    ></MSBuild> 

的給我一個錯誤:C:\ Program Files文件(x86)的\的MSBuild \微軟\ VisualStudio的\ V10.5 \網絡\ Microsoft.Web .Publishing.targets(4196,5):錯誤ERROR_COULD_NOT_CONNECT_TO_REMOTESVC:Web部署任務失敗。 (由於服務器沒有響應,無法使用指定的進程(「Web管理服務」)連接到遠程計算機(「xxxx」)確保在遠程計算機上啓動進程(「Web管理服務」)。 ..

所以,我在想,基本上是這兩種方法做同樣的。這有什麼錯2擋的方法嗎?

回答

0

該問題可能是逃跑的報價,您有屬性的屬性。你試過不包括&「在默認網站上?

我曾經使文件更具可讀性的一種方法是通過項目組傳遞參數

<ItemGroup> 
    <DeployArgs Include="Configuration=$(Configuration)" /> 
    <DeployArgs Include="DeployOnBuild=True" /> 
    <DeployArgs Include="DeployTarget=MSDeployPublish" /> 
    <DeployArgs Include="MSDeployServiceUrl=https://x.x.x.x:8172/msdeploy.axd" /> 
    <DeployArgs Include="MSDeployPublishMethod=WMSvc" /> 
    <DeployArgs Include="DeployIisAppPath=Default Web Site" /> 
    <DeployArgs Include="UserName=username" /> 
    <DeployArgs Include="Password=password" /> 
    <DeployArgs Include="AllowUntrustedCertificate=True" /> 
    <DeployArgs Include="CreatePackageOnPublish=True" /> 
</ItemGroup> 
<MSBuild Properties="@(DeployArgs)" 
      Projects="$(SourceControlPath)\...\myproject.csproj" 
/>