4

以下に示すように、コマンドラインでmsbuildツールを使用してWebプロジェクトをデプロイしようとしています-

msbuild MyWebProject.vbproj /p:DeployOnBuild=true /p:PublishProfile="MyWebProject - Web Deploy - Test" /p:Configuration=Debug

しかし、次のエラーが発生します-

msdeploy エラー ERROR_COULD_NOT_CONNECT_TO_REMOTESVC: Web 配置タスクが失敗しました。(サーバーが応答しなかったため、指定されたプロセス (「Web 管理サービス」) を使用してリモート コンピューター (「MyWebProject.scm.azurewebsites.net」) に接続できませんでした。プロセス (「Web 管理サービス」) がリモート コンピューターで開始されました。詳細については、http: //go.microsoft.com/fwlink/ ?LinkId=221672#ERROR_COULD_NOT_CONNECT_TO_REMOTESVC を参照してください。) [C:\XXXX\XXXX\MyWebProjectSolution\MyWebProject\MyWebProject.Web.vbproj]

これが私が使用している公開プロファイルです -

<?xml version="1.0" encoding="utf-8"?>
<!--
This file is used by the publish/package process of your Web project. You can customize the behavior of this process
by editing this MSBuild file. In order to learn more about this please visit http://go.microsoft.com/fwlink/?LinkID=208121. 
-->
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <WebPublishMethod>MSDeploy</WebPublishMethod>
    <ADUsesOwinOrOpenIdConnect>False</ADUsesOwinOrOpenIdConnect>
    <LastUsedBuildConfiguration>Debug</LastUsedBuildConfiguration>
    <LastUsedPlatform>Any CPU</LastUsedPlatform>
    <SiteUrlToLaunchAfterPublish>http://MyWebProject.azurewebsites.net/tMyApp</SiteUrlToLaunchAfterPublish>
    <LaunchSiteAfterPublish>True</LaunchSiteAfterPublish>
    <ExcludeApp_Data>False</ExcludeApp_Data>
    <MSDeployServiceURL>MyWebProject.scm.azurewebsites.net:443</MSDeployServiceURL>
    <DeployIisAppPath>MyWebProject/tMyApp</DeployIisAppPath>
    <RemoteSitePhysicalPath />
    <SkipExtraFilesOnServer>False</SkipExtraFilesOnServer>
    <MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
    <EnableMSDeployBackup>True</EnableMSDeployBackup>
    <UserName>$MyWebProject</UserName>
    <_SavePWD>True</_SavePWD>
    <_DestinationType>AzureWebSite</_DestinationType>
    <PublishDatabaseSettings>
        ......
    </PublishDatabaseSettings>
  </PropertyGroup>
  <ItemGroup>
    <MSDeployParameterValue Include="$(DeployParameterPrefix)MyWebProjectDB-Web.config Connection String">
      <UpdateDestWebConfig>False</UpdateDestWebConfig>
    </MSDeployParameterValue>
  </ItemGroup>
</Project>

同じ発行プロファイル ファイルを使用して Web アプリを手動で発行すると、問題なく動作します。

msbuild が行う要求と応答は次のとおりです (フィドラーを使用してキャプチャ) -

------- Raw Request -----
CONNECT MyWebProject.scm.azurewebsites.net:443 HTTP/1.1
Host: MyWebProject.scm.azurewebsites.net
Proxy-Connection: Keep-Alive
------- Auth -----
No Proxy-Authorization Header is present.
No Authorization Header is present.

------- Raw Response -----
HTTP/1.1 0 Connection passed to Gateway - Result unknown
EndTime: 10:26:35.164

fiddler リクエストの詳細については、以下の画像を参照してください。ここに画像の説明を入力

私の msbuild コマンドで何が問題になっているのでしょうか?

4

1 に答える 1

0

私はこの問題に遭遇しました。私にとっての修正は、私のIPをSCMサイト制限に追加することでした:

Azure portal -> Your app service -> Networking -> Configure Access Restrictions -> scm tab -> Add rule

https://docs.microsoft.com/en-us/azure/app-service/app-service-ip-restrictions#restrict-access-to-an-scm-site

于 2021-02-09T21:06:30.497 に答える