0

私のソリューションの展開プロジェクトを作成しているときに、奇妙な動作に気づきました。Web アプリのデプロイに webdeploy を使用しています。そしてこれを入れると

<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\Microsoft\VisualStudio\v10.5\Web\Microsoft.Web.Publishing.targets(4196, 5): error ERROR_COULD_NOT_CONNECT_TO_REMOTESVC: Web 配置タスクが失敗しました。(サーバーが応答しなかったため、指定されたプロセス ("Web 管理サービス") を使用してリモート コンピューター ("xxxx") に接続できませんでした。プロセス ("Web 管理サービス") がリモート コンピューターで開始されていることを確認してください。 ..

ですから、基本的にどちらのアプローチも同じことを行うと考えていました。2番目のアプローチの何が問題になっていますか?

4

1 に答える 1

0

問題は、Properties 属性を持つエスケープされた引用符である可能性があります。" を含めないようにしましたか? 既定の Web サイトについて?

ファイルを読みやすくするために使用した 1 つの方法は、項目グループを介して引数を渡すことです。

<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" 
 />
于 2013-10-18T13:58:05.870 に答える