Skip to content

Commit 95b412e

Browse files
committed
Default to MVC 3.0 when we can't detect the Razor configuration (#1167)
* Default to MVC 3.0 when we can't detect the Razor configuration. - Added a `Latest` configuration so we no longer need to look through every file to update the "latest" fallback configuration. - Added understanding for MVC2.2, we default to the 2.1 configuration (there were no Razor changes between the two). dotnet/aspnetcore#13291 * Set RazorLanguageServer default RazorVersion to 3.0
1 parent 9c83a09 commit 95b412e

File tree

4 files changed

+15
-5
lines changed

4 files changed

+15
-5
lines changed

src/Razor/src/Microsoft.AspNetCore.Razor.LanguageServer/RazorDefaults.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ public static class RazorDefaults
1515
Pattern = "**/*.{cshtml,razor}"
1616
});
1717

18-
public static RazorConfiguration Configuration { get; } = FallbackRazorConfiguration.MVC_2_1;
18+
public static RazorConfiguration Configuration { get; } = FallbackRazorConfiguration.Latest;
1919

2020
public static string RootNamespace { get; } = null;
2121
}

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/DefaultProjectSnapshotProjectEngineFactory.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ namespace Microsoft.CodeAnalysis.Razor
99
{
1010
internal class DefaultProjectSnapshotProjectEngineFactory : ProjectSnapshotProjectEngineFactory
1111
{
12-
private readonly static RazorConfiguration DefaultConfiguration = FallbackRazorConfiguration.MVC_2_1;
12+
private readonly static RazorConfiguration DefaultConfiguration = FallbackRazorConfiguration.Latest;
1313

1414
private readonly IFallbackProjectEngineFactory _fallback;
1515
private readonly Lazy<IProjectEngineFactory, ICustomProjectEngineFactoryMetadata>[] _factories;

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/EphemeralProjectSnapshot.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ public EphemeralProjectSnapshot(HostWorkspaceServices services, string filePath)
3232
_projectEngine = new Lazy<RazorProjectEngine>(CreateProjectEngine);
3333
}
3434

35-
public override RazorConfiguration Configuration => FallbackRazorConfiguration.MVC_2_1;
35+
public override RazorConfiguration Configuration => FallbackRazorConfiguration.Latest;
3636

3737
public override IEnumerable<string> DocumentFilePaths => Array.Empty<string>();
3838

src/Razor/src/Microsoft.CodeAnalysis.Razor.Workspaces/ProjectSystem/FallbackRazorConfiguration.cs

Lines changed: 12 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -29,6 +29,12 @@ internal class FallbackRazorConfiguration : RazorConfiguration
2929
"MVC-2.1",
3030
new[] { new FallbackRazorExtension("MVC-2.1"), });
3131

32+
public static readonly RazorConfiguration MVC_3_0 = new FallbackRazorConfiguration(
33+
RazorLanguageVersion.Version_3_0,
34+
"MVC-3.0",
35+
new[] { new FallbackRazorExtension("MVC-3.0"), });
36+
37+
public static readonly RazorConfiguration Latest = MVC_3_0;
3238

3339
public static RazorConfiguration SelectConfiguration(Version version)
3440
{
@@ -44,13 +50,17 @@ public static RazorConfiguration SelectConfiguration(Version version)
4450
{
4551
return MVC_2_0;
4652
}
47-
else if (version.Major == 2 && version.Minor == 1)
53+
else if (version.Major == 2 && version.Minor >= 1)
4854
{
4955
return MVC_2_1;
5056
}
57+
else if (version.Major == 3 && version.Minor == 0)
58+
{
59+
return MVC_3_0;
60+
}
5161
else
5262
{
53-
return MVC_2_1;
63+
return Latest;
5464
}
5565
}
5666

0 commit comments

Comments
 (0)