【发布时间】:2016-02-13 00:57:18
【问题描述】:
我正在尝试在命令行中使用 msbuild 工具部署我的 web 项目,如下所示 -
msbuild MyWebProject.vbproj /p:DeployOnBuild=true /p:PublishProfile="MyWebProject - Web 部署 - 测试" /p:配置=调试
但我收到以下错误 -
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>
当我使用相同的发布配置文件手动发布我的网络应用程序时,它工作得很好。
这是 msbuild 发出的请求和响应(使用 fiddler 捕获)-
------- 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
知道我的 msbuild 命令可能出了什么问题吗?
【问题讨论】:
-
如果您尝试从浏览器导航到MyWebProject.scm.azurewebsites.net,会发生什么情况?它是否也失败了,还是转到 Kudu UI?
-
这很奇怪,您可以通过浏览器访问 scm 端点,但它无法通过 msbuild 连接。您可以尝试在失败的情况下运行 fiddler 以查看它发出的请求吗?这可能是某种代理问题。
-
@DavidEbbo 谢谢!我会尝试更新帖子
-
@DavidEbbo:我已经用提琴手响应更新了这个问题。
-
您显示的是请求,而不是响应。提琴手是否显示连接错误?此外,fiddler 中的这个请求与您从浏览器发出的请求相比如何?另一个测试是从命令行尝试 curl。例如尝试运行: curl -u yourusername transactiongateway.scm.azurewebsites.net
标签: azure msbuild azure-web-app-service publish-profiles