当我为我的webapp构建部署包时,该包包含一个archive.xml文件,其中包含以下内容:
<createApp
applicationPool=""
MSDeploy.applicationPool="1"
appExists="True"
MSDeploy.appExists="1"
... />
问题:
如何控制webapp安装到的应用程序池,以及在某些情况下,如何创建新的应用程序池?是否有我可以更改的VS设置,以控制上述输出或在部署时影响应用程序池的方式?
到目前为止,我发现的是:
1. MSBuild参数
根据one SO post的说法,我可以通过添加以下选项来告诉msbuild使用应用程序池,但我在生成的输出中看不到任何差异:
/p:IncludeAppPool=true
2. parameters.xml文件定制
Another post on setting the app pool for msdeploy似乎暗示我可以修改生成的parameters.xml
文件,这样我就可以将应用程序池名称指定为msdeploy的参数。这个文件存在于zip包中,所以不容易定制。如果我把它改成存档文件,那么文件就更容易访问了。
3.更改VS设置
Howto deploy a webapp页面似乎暗示我可能需要从IIS Express切换到IIS,然后启用一些复选框。在我的项目属性页面上,无论"Include IIS settings as configured in IIS Express“复选框设置(我当前未选中)如何,Include application pool settings used by this Web project
复选框都是禁用的。接下来,我将尝试切换到完整的IIS,看看这是否能给我更好的控制。
4.使用cscript创建应用池
看起来我也许能够create an app pool with a separate tool,但是我不确定它是否是TFS-only。这是一个我以前没有见过的工具,但它可能是一个功能强大的工具。
5. MSDeploy有一个appPoolConfig提供程序
MSDeploy的appPoolConfig provider看起来很有前途,因为我可以手动设置一个应用程序池,然后将其用作同步源,但至少只需要手动一次。
发布于 2013-08-01 18:26:12
当我从Visual Studio2010WCF中进行web部署时,我遇到了麻烦,我正在创建c# sp1服务,详情请参阅:http://technologyriver.blogspot.fi/2012/02/prerequisites-check-windows-7.html
我得到了错误:错误1Web部署任务失败。(您尝试使用的应用程序池的'managedRuntimeVersion‘属性设置为'v2.0’。此应用程序需要‘v4.0’。)0%0 WcfService3
因为我没有完整的IIS,但有IIS Express,所以我不能去找经理。在几次约会之后。谷歌和微软。我盯着自己的脸,找到了解决方案。
修复方法是使用显式正确的web服务名称,而不是示例中使用的默认名称。
解决方案:首先打开IIS Express配置文件%userprofile%\documents\IISExpress\config\applicationhost.config
检查你在其中的默认站点,在我的例子中是:
<site name="WebSite1" id="1" serverAutoStart="true">
<application path="/" applicationPool="Clr4IntegratedAppPool">
<virtualDirectory path="/" physicalPath="%IIS_SITES_HOME%\WebSite1" />
</application>
<bindings>
<binding protocol="http" bindingInformation=":8080:localhost" />
</bindings>
</site>
确保站点的应用程序池是正确的,在我的示例中是"Clr4IntegratedAppPool“
在部署阶段,按照链接的博客中的说明,将一些“默认网站/MyApp”用作站点/应用程序。
对我来说,在站点配置中看到的正确设置是"WebSite1“,而且部署中的服务url需要端口绑定,在我的例子中是"localhost:8080”。
如果您觉得需要更多定义,可以在配置中使用自己的池创建一个全新的站点,并在部署中使用它。可以在这里找到该方向的一些示例:http://www.philliphaydon.com/2012/06/multiple-iisexpress-sites-profiled-with-dottrace/
希望这能帮助你们中的任何人避免使用搜索机器的令人沮丧的约会。
最好的问候,Petteri Kujala
https://stackoverflow.com/questions/7690954
复制相似问题