0
我正在使用TFS生成來發布使用我已定義的發佈配置文件的網站。發佈會發生,但會發布到以Web應用程序項目名稱命名的Web應用程序,而不是我在發佈配置文件中指定的名稱。如果我使用相同的發佈配置文件發佈到本地計算機,它會使用我在發佈配置文件中指定的名稱進行發佈。我在這兩種情況下都使用管理帳戶,儘管它是TFS構建案例中的本地非域帳戶。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而不是我指定的內容。
檢查在'構建definition'的'建立Defaults'標籤。也許有一些其他的放置文件夾比你想要的。 – TimVK 2013-03-21 09:13:10
我相信我已經發現了答案。構建服務器是TFS 2010,Visual Studio是2012.它顯示TFS 2010不支持或識別PublishProfile屬性。發佈配置文件是2012年的新增功能,並且支持似乎沒有被回溯... – 2013-03-22 13:00:17
很高興聽到您指出了這一點。現在看到答案仍然如你現在所做的那樣總是令人高興的。 – TimVK 2013-03-22 13:20:27