MSBuild Extension Packを使用してWebサイトを作成する正しい方法は何ですか?
MSBuild Extension Packを使用して、次のターゲットを使用してWebサイトを作成しようとしています。残念ながら、構文が正しくありません。このターゲットは、「InvalidOperationException:指定されたパスは既に存在します。\r」という例外をスローします。これは、アプリケーションを追加した後です。
WebApplicationアイテムまたはVirtualDirectoryアイテムを変更して、以下のターゲットのいくつかの異なるバージョンを試しました。WebApplicationアイテムのInclude属性を「/」以外に変更すると、作成は機能します。Webサイトが作成されると、COMエラー0x800710D8のために開始できません。(オブジェクト識別子は有効なオブジェクトを表していません)
<Target Name="ProvisionIIS7WebSite" DependsOnTargets="CreateDeploymentNumber">
<PropertyGroup>
<WebSiteName>$(BaseDeploymentName)$(DeploymentNumber)</WebSiteName>
<PortNumber>$(DeploymentNumber)</PortNumber>
</PropertyGroup>
<ItemGroup>
<WebApplication Include="/">
<PhysicalPath>$(WebSitePath)</PhysicalPath>
</WebApplication>
<VirtualDirectory Include="/">
<ApplicationPath>/</ApplicationPath>
<PhysicalPath>$(WebSitePath)</PhysicalPath>
</VirtualDirectory>
</ItemGroup>
<!-- Create new site -->
<MSBuild.ExtensionPack.Web.Iis7Website TaskAction="Create"
Name="$(WebSiteName)"
Port="$(PortNumber)"
Path="$(WebSitePath)"
AppPool="$(WebSiteAppPool)"
Applications="@(WebApplication)"
VirtualDirectories="@(VirtualDirectory)">
<Output TaskParameter="SiteID" PropertyName="WebSiteID" />
</MSBuild.ExtensionPack.Web.Iis7Website>
<Message Text="Created website with ID $(WebSiteID)" />
</Target>