Question

I trying create iis7 web application by msbuild community tasks and set property "Enabled Protocols" to "http,net.tcp", but this property doesn't set (I am checking in inetmgr):

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

How I can set this property by msbuild?

Was it helpful?

Solution

enabledProtocols isn't part of the IIS global properties so WebDirectorySetting ignores it.

Instead use MSBuild Extension Pack IIS tasks which are more updated than MSBuildCommunityTasks.

<MSBuild.ExtensionPack.Web.Iis7Binding 
    TaskAction="Add" 
    Name="NewSite" 
    BindingInformation="192.168.1.101:8080:stackoverflow.com" 
    BindingProtocol="http"/>
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top