asp.net-mvc – 将powershell脚本添加到mvc站点的Web部署包中

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

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

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

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

最佳答案 你想要做的是添加一个新的MSBuild任务AfterTargets =’MSDeployPublish’.

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

它可能看起来像这样:

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

了解有关执行powershell in MSBuild here的更多信息

点赞