我正在尝试通过msbuild在远程服务器上创建一个新网站(我喜欢称之为“msdeploy”)。我已经下载并使用了SDC任务,MSBuildExtension任务和MSBuildCommunity任务,但我无法正确完成任务。
我认为WebDirectorySetting(来自MSBuild.Community.Tasks.IIS)是我最好的选择,但我找不到合适的SettingName来传递。
我想使用某种MSBuild任务来实现这一目标,但也许它根本就不存在。自定义VBS或WMI是我最后的选择......
由于
答案 0 :(得分:2)
<MSBuild.ExtensionPack.Web.Iis7AppPool TaskAction="Create"
Name="$(AppPool)"
IdentityType="SpecificUser"
PipelineMode="Integrated"
ManagedRuntimeVersion="v4.0"
PoolIdentity="$(UserName)"
IdentityPassword="$(UserPassword)"
答案 1 :(得分:1)
我曾尝试过一段时间做同样的事情,但最终意识到我们基本上都使用版本2.0,所以我在我部署的机器上使用aspnet_regiis作为默认设置。
如果可以在远程服务器上运行shell命令,则可以使用带有-sn的aspnet_regiis.exe将特定的asp.net版本注册到应用程序。
http://msdn.microsoft.com/en-us/library/k6h9cz8h(VS.80).aspx
答案 2 :(得分:1)
使用Exec标记从msbuild任务中运行aspnet_regiis工具。它并不像“干净”,但它确实有效。
答案 3 :(得分:1)
感谢您的回复。我玩弄了这两个建议,但两者都不是“完全”我想要的东西 - 即使它完成了工作。我不能看到我们回到1.1,所以我们最终确定它是默认值,但我仍然希望有一个神奇的设置可以做到这一点。
再次感谢
答案 4 :(得分:0)
这一切都不简单,如下所示:
首先,创建网站目录:
<WebDirectoryCreate
ServerName="$(DeployServerName)"
VirtualDirectoryName="MyVirualSiteName" />
其次,应用所需的ASP.NET版本:
<InstallAspNet
Path="W3SVC/1/Root/MyVirualSiteName"
Version="Version20" />
尽我所能,