【发布时间】:2014-06-17 22:02:50
【问题描述】:
我有一个 MSBuild 脚本,它正在为我的 Web 应用程序生成部署脚本。
Project.build (摘录)
<MSBuild Projects="xxxxx.sln" Properties="
CreatePackageOnPublish=true;
DeployOnBuild=true;
IncludeIisSettings=true;
IncludeAppPool=true;" >
<Output TaskParameter="TargetOutputs" ItemName="CompiledAssembly" />
</MSBuild>
执行此操作时,它会在输出中生成一个 Package 文件夹,其中包含一个部署 .cmd 文件和关联的 .zip 文件。
xxxx.SetParameters.xml (生成)
<?xml version="1.0" encoding="utf-8"?>
<parameters>
<setParameter name="IIS Web Application Name" value="Default Web Site\xxxxx" />
<setParameter name="DefaultConnection-Web.config Connection String"
value=" ... snipped ..." />
</parameters>
如您所见,此处没有提及应用程序池。同样,在生成的 xxxx.zip\parameters.xml 中提到了应用程序池
当我执行xxxxxx.deploy.cmd /Y 时,它会在 IIS 中正确创建应用程序。问题是,它似乎使用了机器的默认应用程序池。它是一个 .net 4 应用程序,因此如果默认为 .net 2,应用程序将无法运行。
有没有办法让部署脚本包含应用程序池定义,这样就不需要手动更改应用程序池来运行?
我确实找到了this question,,这似乎是一样的。但是,如您所见,我已经包含了该问题的答案,但没有任何效果。
【问题讨论】:
标签: asp.net iis msbuild webdeploy