我即将在 VS2012 中使用 Web 部署实用程序部署一个 MVC4 站点。由于我无法直接连接到服务器,因此我生成了一个“Web 部署包”发布配置文件,我使用 IIS > 导入包选项上传和部署该配置文件。
这一切正常,但有一个异常(exception)。我需要站点内的虚拟目录指向服务器中的另一个文件夹(移动数据上传的位置)。我可以毫无问题地创建这个虚拟目录,但是每次我部署一个新版本的包时,虚拟目录都会被删除,我必须记住重新创建它。
我想要做的是自动化这个虚拟目录的创建过程,但我不知道如何实现它。我更进一步的是找到一个 PowerShell Cmdlet,它允许我创建一个新的虚拟目录,New-WebVirtualDirectory .
是否可以自定义包创建以在部署后运行此 cmdlet?
最佳答案
您要做的是添加一个新的 MSBuild 任务 AfterTargets='MSDeployPublish'。
为此,您需要编辑 csproj 文件并使用您的 powershell 任务添加一个新目标。
它可能看起来像这样:
<Target Name="PostPublishTarget" AfterTargets="MSDeployPublish">
<Exec Command="$PowershellCmdHere"/>
</Target>
了解更多关于做 powershell in MSBuild here
关于asp.net-mvc - 将 powershell 脚本添加到 mvc 站点的 Web 部署包,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15661924/