Skip to content

Commit 91a533b

Browse files
Merge branch 'master' into TemplateNamespace
2 parents a7b9602 + e030384 commit 91a533b

File tree

3 files changed

+34
-3
lines changed

3 files changed

+34
-3
lines changed
Lines changed: 30 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,30 @@
1+
using System;
2+
using System.Collections.Generic;
3+
using System.Text;
4+
using Microsoft.VisualStudio.TestTools.UnitTesting;
5+
6+
namespace RazorEngineCore.Tests
7+
{
8+
[TestClass]
9+
public class TestTemplateFilename
10+
{
11+
[TestMethod]
12+
public void TestSettingTemplateFilename()
13+
{
14+
RazorEngine razorEngine = new RazorEngine();
15+
var errorThrown = false;
16+
try
17+
{
18+
IRazorEngineCompiledTemplate initialTemplate = razorEngine.Compile("@{ this is a syntaxerror }",
19+
builder => { builder.Options.TemplateFilename = "templatefilenameset.txt"; });
20+
}
21+
catch (Exception e)
22+
{
23+
Assert.IsTrue(e.Message.Contains("templatefilenameset.txt"));
24+
errorThrown = true;
25+
}
26+
27+
Assert.IsTrue(errorThrown);
28+
}
29+
}
30+
}

RazorEngineCore/RazorEngine.cs

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ public IRazorEngineCompiledTemplate<T> Compile<T>(string content, Action<IRazorE
2424
builderAction?.Invoke(compilationOptionsBuilder);
2525

2626
MemoryStream memoryStream = this.CreateAndCompileToStream(content, compilationOptionsBuilder.Options);
27-
27+
2828
return new RazorEngineCompiledTemplate<T>(memoryStream, compilationOptionsBuilder.Options.TemplateNamespace);
2929
}
3030

@@ -62,7 +62,7 @@ protected virtual MemoryStream CreateAndCompileToStream(string templateSource, R
6262
builder.SetNamespace(options.TemplateNamespace);
6363
});
6464

65-
string fileName = Path.GetRandomFileName();
65+
string fileName = string.IsNullOrWhiteSpace(options.TemplateFilename) ? Path.GetRandomFileName() : options.TemplateFilename;
6666

6767
RazorSourceDocument document = RazorSourceDocument.Create(templateSource, fileName);
6868

@@ -85,7 +85,7 @@ protected virtual MemoryStream CreateAndCompileToStream(string templateSource, R
8585
options.ReferencedAssemblies
8686
.Select(ass =>
8787
{
88-
#if NETSTANDARD2_0
88+
#if NETSTANDARD2_0_OR_GREATER || NET5_0_OR_GREATER
8989
return MetadataReference.CreateFromFile(ass.Location);
9090
#else
9191
unsafe

RazorEngineCore/RazorEngineCompilationOptions.cs

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,7 @@ public class RazorEngineCompilationOptions
1212

1313
public HashSet<MetadataReference> MetadataReferences { get; set; } = new HashSet<MetadataReference>();
1414
public string TemplateNamespace { get; set; } = "TemplateNamespace";
15+
public string TemplateFilename { get; set; } = "";
1516
public string Inherits { get; set; } = "RazorEngineCore.RazorEngineTemplateBase";
1617

1718
public HashSet<string> DefaultUsings { get; set; } = new HashSet<string>()

0 commit comments

Comments
 (0)