Я знаю, что этот пост очень старый, но мы недавно столкнулись с той же проблемой. Если вы используете 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=""/site.name:${websiteName}""/>
<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" />
. Для получения дополнительной информации и опций вы можете читать больше здесь .
Я надеюсь, что это поможет некоторым другим людям, которые также застряли в том же положении!