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

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

我即将在 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/

相关文章:

c# - 命名空间 'TeamFoundation' 中不存在类型或命名空间名称 'Microsoft'

asp.net-mvc - 如何在 mvc 的 apicontroller 中获取部分 View 字符串

asp.net-mvc - 在 ASP.NET MVC 中使用 SSL 操作过滤器重定向循环

c# - 域信任上的 IIS 自定义错误

delphi - 在处理传入请求之前,如何在 'TISAPIApplication` 中建立 ADO 数据库连接?

IIS session 状态

asp.net-mvc - 无法将javascript文件添加到cshtml

css - ASP.NET MVC 的动态 CSS?

c# - 使用 Fluent Validation 进行条件验证

html - 将 mvc 存储库获取的数据定位到 View 中(MVC4 Web)