2016-08-30 72 views

回答

1

考慮使用Miceosoft.Web.Administration命名空間中的ServerManager類。特別是,ApplicationPools和Sites屬性。 例如,

ServerManager sm = new ServerManager(); 
Site site = serverMgr.Sites.Add(「MySiteName」, 「C:\\inetpub\\wwwroot」, 8080); 
sm.ApplicationPools.Add(「MyAppPool」); 
sm.CommitChanges() 

欲瞭解更多信息,請參閱https://msdn.microsoft.com/en-us/library/microsoft.web.administration.servermanager(v=vs.90).aspx

希望這有助於。

0

還有MSBuildExtensionPack:

https://github.com/mikefourie/MSBuildExtensionPack

我想,說的MSBuild-家庭的-行動採用Microsoft.Web.Administration命名空間的工作它的魔力在IIS 7中創建一個新的網站而言和腳本看起來像這樣(沒有在我自己的服務器上測試過這個還有):

<Target Name="ProvisionIIS7WebSite" DependsOnTargets="CreateDeploymentNumber"> 
    <PropertyGroup> 
    <WebSiteName>$(BaseDeploymentName)$(DeploymentNumber)</WebSiteName> 
    <PortNumber>$(DeploymentNumber)</PortNumber> 
    </PropertyGroup> 

    <ItemGroup> 
    <WebApplication Include="/MyApp"> 
     <PhysicalPath>$(WebSitePath)</PhysicalPath> 
    </WebApplication> 
    <VirtualDirectory Include="/MyVdir"> 
     <ApplicationPath>/MyApp</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> 
相關問題