4

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

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

我想要做的是自动化这个虚拟目录的创建过程,但我不知道如何实现它。我走得更远的是找到一个 PowerShell Cmdlet,它允许我创建一个新的虚拟目录New-WebVirtualDirectory

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

4

1 回答 1

2

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

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

它可能看起来像这样:

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

在此处了解有关在 MSBuild 中执行 powershell 的更多信息

于 2013-03-27T16:53:58.673 回答