3 Stimmen

So erstellen Sie eine Website mit einer Anwendung mit MSBuild Extension Pack

Wie erstellt man eine Website richtig mit dem MSBuild Extension Pack ?

Ich versuche, die MSBuild Extension Pack um eine Website mit dem folgenden Ziel zu erstellen. Leider habe ich die Syntax nicht richtig verstanden. Dieses Ziel löst eine Ausnahme mit der Meldung "InvalidOperationException: Der angegebene Pfad existiert bereits. \r ". Dies geschieht nach dem Hinzufügen der Anwendung.

Ich habe verschiedene Versionen des unten genannten Ziels ausprobiert, indem ich das Element WebApplication oder das Element VirtualDirectory geändert habe. Wenn ich das Include-Attribut für das WebApplication-Element auf etwas anderes als "/" ändere, funktioniert die Erstellung. Sobald die Website jedoch erstellt ist, kann ich sie aufgrund des COM-Fehlers 0x800710D8 nicht mehr starten. (Der Objektbezeichner stellt kein gültiges Objekt dar)

<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>

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X