将powershell脚本添加到mvc站点的Web部署包

时间:2013-03-27 14:51:40

标签: asp.net-mvc iis asp.net-mvc-4 web-deployment microsoft-web-deploy

我即将使用VS2012中的Web Deploy实用程序部署MVC4站点。因为我无法直接连接到服务器,所以我正在生成一个“Web Deploy Package”发布配置文件,我使用IIS>上传和部署它。导入包选项。

这一切都很好,但有一个例外。我需要站点内的虚拟目录指向服务器中的另一个文件夹(上传移动数据)。我可以毫无问题地创建这个虚拟目录,但每次我使用新版本部署软件包时,虚拟目录都会被删除,我必须记得再次创建它。

我要做的是自动化此虚拟目录的创建过程,但我无法找到如何实现它。我走的越远,就是找到一个PowerShell Cmdlet,它允许我创建一个新的虚拟目录New-WebVirtualDirectory

是否可以自定义程序包创建以在部署后运行此cmdlet?

1 个答案:

答案 0 :(得分:2)

您要做的是添加新的MSBuild任务AfterTargets ='MSDeployPublish'。

为此,您需要编辑csproj文件并使用您的powershell任务添加新目标。

看起来像这样:

<Target Name="PostPublishTarget" AfterTargets="MSDeployPublish">
   <Exec Command="$PowershellCmdHere"/>
</Target>

了解有关执行powershell in MSBuild here

的更多信息