我正在使用 TFS Build 使用我定义的发布配置文件发布网站。发布发生了,但它发布到以 Web 应用程序项目名称命名的 Web 应用程序,而不是我在发布配置文件中指定的名称。如果我使用相同的发布配置文件发布到我的本地计算机,它会使用我在发布配置文件中指定的名称进行发布。尽管在 TFS 构建案例中它是本地非域帐户,但我在这两种情况下都使用了管理帐户。
使用的参数如下(出于安全原因删除了相关细节):
/p:DeployOnBuild=True /p:DeployTarget=MsDeployPublish /p:PublishProfile=MyProfile
/p:AllowUntrustedCertificate=True /p:MSDeployPublishMethod=WMSVC
/p:MSDeployServiceUrl=https://SomeName:8172/MsDeploy.axd
/p:UserName=SomeName\LocalAdminDude /p:Password=SomePassword
发布配置文件本身如下所示:
<?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>
<SiteUrlToLaunchAfterPublish/>http://Server/NameIWant</SiteUrlToLaunchAfterPublish>
<MSDeployServiceURL>https://Server:8172/msdeploy.axd</MSDeployServiceURL>
<DeployIisAppPath>Default Web Site/NameIWant</DeployIisAppPath>
<RemoteSitePhysicalPath />
<SkipExtraFilesOnServer>True</SkipExtraFilesOnServer>
<MSDeployPublishMethod>WMSVC</MSDeployPublishMethod>
<UserName>Server\LocalAdminDude</UserName>
<_SavePWD>True</_SavePWD>
</PropertyGroup>
</Project>
本质上,如果我的 Web 项目名为NameIWantPROJECT,我希望它发布到一个名为NameIWant的网站。如果我在本地发布,那行得通,如果我使用上述参数通过 TFS,它会发布为NameIWantPROJECT而不是我指定的内容。