2016-08-30 33 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> 
相关问题