有没有办法从'预编译'中排除某些.cshtm文件或整个文件夹?选项,以便.cshtml文件可以在MVC之外使用?

时间:2014-08-20 02:42:42

标签: visual-studio-2013

我正在使用HangfirePostal从页面周期(在MVC 5应用程序中)异步发送电子邮件。创建电子邮件的线程使用RazorEngine项目。

Visual Studio 2013(快速)项目设置为“在发布期间进行预编译”。使用'允许预编译站点可更新'设为false。这具有显着的优势,因为我使用共享的Web主机,并且无法更改应用程序池的循环时间(20分钟)。如果网站没有被击中20分钟,该网站会更快地响应请求。

但是,已发布的网站有"自动生成标记"电子邮件模板的.cshtml文件(即使复制到输出目录设置为始终复制),如果我将Views / Email文件夹从visual studio项目复制到,则(非MVC)线程将只生成正确的电子邮件每次发布后手动发布文件夹。

有没有办法从'预编译'中排除某些.cshtm文件或整个文件夹?选项,以便.cshtml文件可以在MVC之外使用。谢谢。

1 个答案:

答案 0 :(得分:-1)

  

[项目]> [属性]> [PublishProfiles]> [your.pubxml]

<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
 ...
    <ExcludeFilesFromDeployment>
      somefolder\otherfolder\*.cshtml;folder2\*.cshtml;foo.cshtml
    </ExcludeFilesFromDeployment>
    <ExludeFoldersFromDeployment>
      foo\bar;Views
    </ExludeFoldersFromDeployment>
  </PropertyGroup>
</Project>

不知道这是否有帮助,但您可以通过发布配置文件(.pubxml)排除文件/文件夹吗? 更多信息:https://msdn.microsoft.com/en-us/library/ee942158(v=vs.110).aspx