2

Я пытаюсь создать веб-приложение iis7 с помощью задач сообщества msbuild и установить свойство «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 Задачи IIS, которые более обновляются, чем MSBuildCommunityTasks.

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