2

我试图通过msbuild社区任务创建iis7 web应用程序并将属性“Enabled Protocols”设置为“http,net.tcp”,但此属性未设置(我正在检查inetmgr ):Msbuild WebDirectorySetting未设置enabledProtocols设置

<Project DefaultTargets="CreateSite" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> 
    <Import Project="$(MSBuildExtensionsPath)\MSBuildCommunityTasks\MSBuild.Community.Tasks.Targets"/> 

    <PropertyGroup> 
    <VirtualDirectoryName>DCSS_dev_s7</VirtualDirectoryName> 
    <VirtualDirectoryPhysicalPath>$(MSBuildProjectDirectory)\DCSS_dev_s7</VirtualDirectoryPhysicalPath> 
    </PropertyGroup> 

    <Target Name="CreateSite"> 
    <WebDirectoryDelete VirtualDirectoryName="$(VirtualDirectoryName)" ContinueOnError="true" /> 
    <WebDirectoryCreate VirtualDirectoryName="$(VirtualDirectoryName)" VirtualDirectoryPhysicalPath="$(VirtualDirectoryPhysicalPath)" /> 
    <WebDirectorySetting VirtualDirectoryName="$(VirtualDirectoryName)" SettingName="enabledProtocols" SettingValue="http,net.tcp" /> 
    </Target> 
</Project> 

如何通过msbuild设置此属性?

回答

2

enabledProtocols不是IIS global properties的一部分,所以WebDirectorySetting忽略它。

改为使用MSBuild Extension Pack比MSBuildCommunityTasks更新更新的IIS任务。

<MSBuild.ExtensionPack.Web.Iis7Binding 
    TaskAction="Add" 
    Name="NewSite" 
    BindingInformation="192.168.1.101:8080:stackoverflow.com" 
    BindingProtocol="http"/>