【发布时间】:2018-12-04 21:33:00
【问题描述】:
我的项目结构如下:
Solution
Project
Properties/
References/
Model/
Message.cs
Views/
Index.cshtml
EmailBuilder/
EmailBuilder.cs
Program.cs
我想从 Index.cshtml 文件中读取所有文本并将我的模型传递给该文件。但是,如果不设置 Copy to Output Directory: Copy if newer,我无法从我的代码中打开 Index.cshtml。我不想将这些文件复制到输出目录,因为我不希望正在生成电子邮件的用户看到模板文件。这就是我目前正在做的事情:
private static readonly string TemplateFolderPath =
Path.Combine(AppDomain.CurrentDomain.BaseDirectory, "Views");
RazorEngineManager.Instance.Razor.AddTemplate("Index",
File.ReadAllText(Path.Combine(TemplateFolderPath, "Index.cshtml")));
如何从 cshtml 文件中读取而无需将其复制到输出目录?我来自 Java 世界,它就像从类路径解析文本或速度文件一样简单,不需要将文件复制到输出目录。这些文件仍然嵌入在我的 jar 中。
如何在 .NET 中执行此操作?
请帮忙。
【问题讨论】:
标签: c# templating razorengine