正如您从标题中看到的那样,我在部署到远程 IIS 时遇到了一些问题。这是我到目前为止所做的:
- 我在 Windows Server 2008 上设置了一个运行 IIS7 的虚拟机。
- 我已经桥接了虚拟机网络适配器。
- 我已经安装并启动了“Web 部署代理服务”以及“Web 管理服务”。
- 我还创建了一个新的 IIS 管理器用户并授予他访问相关网站的权限。
现在,当我这样做时,部署本身就可以工作,例如:
msbuild D:\Path\ToProject\DeployVariation01\DeployVariation01.csproj
/p:Configuration=Debug;
Platform=AnyCpu;
DeployOnBuild=true;
DeployTarget=MSDeployPublish;
MSDeployServiceURL="Some.IP.-.Address";
DeployIisAppPath="DeployAppDebug/DeployThis";
MSDeployPublishMethod=WMSVC;
AllowUntrustedCertificate=true;
Username=Administrator;
password=<thinkOfAPassword>
然后部署应用程序,我可以从浏览器调用它。
更新:它也适用于这个命令,所以应该回答 James Woolfenden 关于我是否有权访问 msdeploy 网络服务的问题:
msbuild D:\Path\ToProject\DeployVariation01\DeployVariation01.csproj
/p:Configuration=Debug;
Platform=AnyCpu;
DeployOnBuild=true;
DeployTarget=MSDeployPublish;
MSDeployServiceURL="https://some.ip.-.address:8172/MsDeploy.axd;
DeployIisAppPath="DeployAppDebug/DeployThis";
MSDeployPublishMethod=WMSVC;
AllowUntrustedCertificate=true;
Username=Administrator;
password=<thinkOfAPassword>
但是,我想使用PackageWeb-Approach(也在此处描述)。
所以我从 Visual Studio 2012 创建了一个我想要部署的 WebDeploy-Package。部署它通常似乎也没有问题,因为我让它在我的本地计算机上运行。
我的本地 IIS 和我的 VM 中的 IIS 都具有相同的网站结构,所以我只需要在调用 Publish-Interactive.ps1 脚本时更改“计算机名”、“用户名”和“密码”为了让它工作,但是当我这样做时,我不断收到错误消息
Could not connect to the remote computer ("Some.IP.-.Address")
On the remote computer, make sure that Web Deploy is installed and that the required process ("Web Management Service") is started. Learn more at: http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_DESTINATION_NOT_REACHABLE.)
但这让我感到困惑,因为我实际上通过 WebPlatformInstaller 安装了 Web Deploy,并且 Web 管理服务正在运行。我还尝试从我的主机 ping 我的虚拟机并且它正在通过。出于测试目的,我也完全关闭了 VM 中的防火墙。
但我仍然收到相同的错误消息。
谁能引导我朝着正确的方向前进?我错过了什么?