我可以使用'mkiisdir'创建一个虚拟目录,但它只在默认网站下创建。
使用IISServer属性,它在我的测试环境中工作正常,但在生产环境中没有。
场景1(测试环境)
情景2(制作环境)
我应该为IISServer使用什么值? port,以便在具有主机头的网站下创建虚拟目录。
答案 0 :(得分:2)
我知道这篇文章很老但我们最近遇到了同样的问题。如果您使用 IIS 7(或更高版本),则可以解决此问题。您可以使用IIS 7附带的AppCmd.exe
执行许多不同的操作,例如,在不同的网站下创建应用程序。
您可以创建一个示例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" />
这将在该服务器上的“ SomeOtherWebsite ”网站内创建名为“ MyApp ”的应用程序。
这会创建一个应用程序,但您也可以通过将<arg value="APP" />
更改为<arg value="VDIR" />
来创建纯虚拟目录。有关更多信息和选项,您可以read more here。
我希望能帮助其他一些同样处于同一位置的人!
答案 1 :(得分:0)
指定iisserver参数并将您的站点标识为主机名:端口组合
<mkiisdir iisserver="host:port" dirpath="c:\siteroot\test" vdirname="Test" />
答案 2 :(得分:-1)
您可以将网站指定为mkiisdir的参数
<mkiisdir iisserver="host" website="${project.service.iiswebsite}" " dirpath="c:\siteroot\test" vdirname="Test"/>
应该可以正常工作