2

我尝试通过 msbuild 社区任务创建 iis7 Web 应用程序并将属性“启用的协议”设置为“http,net.tcp”,但此属性未设置(我正在签入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>

如何通过 msbuild 设置此属性?

4

1 回答 1

2

enabledProtocols不是IIS 全局属性的一部分,所以WebDirectorySetting忽略它。

而是使用比 MSBuildCommunityTasks 更新的MSBuild Extension Pack IIS 任务。

<MSBuild.ExtensionPack.Web.Iis7Binding 
    TaskAction="Add" 
    Name="NewSite" 
    BindingInformation="192.168.1.101:8080:stackoverflow.com" 
    BindingProtocol="http"/>
于 2012-04-03T23:20:51.307 回答