我正在使用Hangfire和Postal从页面周期(在MVC 5应用程序中)异步发送电子邮件。创建电子邮件的线程使用RazorEngine项目。
Visual Studio 2013(快速)项目设置为“在发布期间进行预编译”。使用'允许预编译站点可更新'设为false。这具有显着的优势,因为我使用共享的Web主机,并且无法更改应用程序池的循环时间(20分钟)。如果网站没有被击中20分钟,该网站会更快地响应请求。
但是,已发布的网站有"自动生成标记"电子邮件模板的.cshtml文件(即使复制到输出目录设置为始终复制),如果我将Views / Email文件夹从visual studio项目复制到,则(非MVC)线程将只生成正确的电子邮件每次发布后手动发布文件夹。
有没有办法从'预编译'中排除某些.cshtm文件或整个文件夹?选项,以便.cshtml文件可以在MVC之外使用。谢谢。
答案 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