6

我使用的是 Team Foundation Service 2012,内部托管了一个构建控制器,因此我可以将应用程序部署到我们的 Web 服务器。我设置了构建定义,并使用了我的调试配置,并提供了以下 MSBUILD 参数。

/p:DeployOnBuild=true /p:DeployTarget=MSDeployPublish /p:MSDeployPublishMethod=WMSVC /p:MSDeployServiceUrl=https://myserversname:8172/msdeploy.axd /p:AllowUntrustedCertificate=true /p:DeployIisAppPath="somesite.ourdomain.com" /p:Username=na\svc-users /p:Password=PASS /p:VisualStudioVersion=11.0

该解决方案构建得很好,我没有收到任何警告或错误。当我去我的部署服务器时,应用程序是空的。我已经设置了 Web 应用程序文件夹和 inetsrv 文件夹的权限。我还安装/配置了 Web 部署。如果我没有返回任何错误,我怎么知道我的部署出了什么问题?我已经检查了构建服务器和部署服务器上的事件日志,都没有任何错误或警告。我也可以从我的开发机器上进行发布,它可以完美地使用完全相同的参数。

4

1 回答 1

5

将这两个文件夹及其内容从您的开发环境复制到构建服务器:

C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\Web
C:\Program Files (x86)\MSBuild\Microsoft\VisualStudio\v11.0\WebApplications

这些文件夹是通过 Visual Studio 2012 发布引起的依赖项。此依赖项在 .sln 文件中引用。

不幸的是,这意味着 web 部署正在静默失败。

或者,您可以在构建服务器上安装 Visual Studio,但这会浪费许可证。

于 2013-03-28T15:40:07.437 回答