Я знаю, что этот пост очень старый, но мы недавно столкнулись с той же проблемой. Если вы используете 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" />
. Для получения дополнительной информации и опций вы можете read more here.
Я надеюсь, что это поможет некоторым другим людям, которые также застряли в одном положении!
Это работает, когда у вас есть сайт в разных портах – Miral