Создание виртуального каталога под конкретным сайтом с помощью NANT - PullRequest
2 голосов
/ 19 января 2011

Я могу создать виртуальный каталог с помощью mkiisdir, но он создается только на веб-сайте по умолчанию.

При использовании атрибута IISServer он отлично работает в моей тестовой среде, но не в рабочей среде.

Сценарий 1 (тестовый env)

  1. IIS с 2 веб-сайтами, 1 размещен на 80 и другой на 88.
  2. Использовать атрибут IIServer = 'localhost' & port = '88', он создает виртуальный каталог под нужным веб-сайтом

Сценарий 2 (рабочая среда)

  1. IIS с 2 веб-сайтами, 1 размещен на 80 и других, а также на 80но с другим заголовком узла.

Какое значение следует использовать для IISServer & port, чтобы виртуальный каталог создавался под веб-сайтом с заголовком узла.

Ответы [ 3 ]

2 голосов
/ 16 декабря 2013

Я знаю, что этот пост очень старый, но мы недавно столкнулись с той же проблемой. Если вы используете IIS 7 (или выше) , то существует обходной путь. Вы можете использовать AppCmd.exe, поставляемый с IIS 7, для выполнения множества различных действий, в вашем случае создавайте Приложения на разных веб-сайтах.

Вы можете создать образец задачи Nant (макрос):

  <macrodef name="Install.App">
    <attributes>
      <attribute name="websiteName" default="Default Web Site" />
      <attribute name="vdir" />
      <attribute name="physicalPath" />
      <attribute name="appPool" default="DefaultAppPool" />
    </attributes>

    <sequential>
      <exec program="c:\windows\System32\InetSrv\appcmd.exe" workingdir="${project::get-base-directory()}" verbose="true" failonerror="false" >
        <arg value="ADD"/>
        <arg value="APP" />
        <arg value="&quot;/site.name:${websiteName}&quot;"/>
        <arg value="/path:${vdir}" />
        <arg value="/physicalPath:${physicalPath}" />
        <arg value="/apppool.name:${appPool}" />
      </exec>

    </sequential>
  </macrodef>

Тогда вы можете просто назвать это примерно так:

<Install.App websiteName="SomeOtherWebsite" vdir="/MyApp" physicalPath="C:\apps\myapp" appPool="MyAppPool" />

Это приведет к созданию приложения с именем " MyApp " внутри веб-сайта " SomeOtherWebsite " на этом сервере.

Это создает приложение, но вы также можете создать простой виртуальный каталог, просто изменив <arg value="APP" /> на <arg value="VDIR" />. Для получения дополнительной информации и опций вы можете читать больше здесь .

Я надеюсь, что это поможет некоторым другим людям, которые также застряли в том же положении!

0 голосов
/ 03 января 2013

Вы можете указать веб-сайт в качестве параметра mkiisdir

<mkiisdir iisserver="host" website="${project.service.iiswebsite}" " dirpath="c:\siteroot\test" vdirname="Test"/>

Должно работать нормально

0 голосов
/ 19 января 2011

Укажите параметр iisserver и определите для вашего сайта имя хоста: комбинация портов

<mkiisdir iisserver="host:port" dirpath="c:\siteroot\test" vdirname="Test" />
...