TFS ビルドを使用して、定義した公開プロファイルを使用して Web サイトを公開しています。発行は行われますが、発行プロファイルで指定した名前ではなく、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という名前の Web サイトに公開したいと考えています。ローカルで公開するとうまくいきます。上記のパラメータで TFS を通過すると、指定したものではなくNameIWantPROJECTとして公開されます。