diff --git a/scripts/install-scaffold.cmd b/scripts/install-scaffold.cmd
index 276e16d883..8278e87446 100644
--- a/scripts/install-scaffold.cmd
+++ b/scripts/install-scaffold.cmd
@@ -1,4 +1,4 @@
-set VERSION=20.0.0-dev
+set VERSION=20.1.0-dev
set DEFAULT_NUPKG_PATH=%userprofile%/.nuget/packages
set SRC_DIR=%cd%
set NUPKG=artifacts/packages/Debug/Shipping/
diff --git a/scripts/install-scaffold.sh b/scripts/install-scaffold.sh
index 4156eb5813..1aaeddfb0c 100755
--- a/scripts/install-scaffold.sh
+++ b/scripts/install-scaffold.sh
@@ -1,6 +1,6 @@
#!/bin/bash
-VERSION=20.0.0-dev
+VERSION=20.1.0-dev
DEFAULT_NUPKG_PATH=~/.nuget/packages
SRC_DIR=$(pwd)
echo $SRC_DIR
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Models/IdentityModel.cs b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Models/IdentityModel.cs
index 54aa86ef9a..6410d9e43b 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Models/IdentityModel.cs
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Models/IdentityModel.cs
@@ -45,4 +45,9 @@ internal class IdentityModel
/// Gets or sets a value indicating whether to overwrite existing files.
///
public bool Overwrite { get; set; }
+ ///
+ /// Gets or sets a value indicating whether the target project is a Razor Pages project.
+ /// Used to determine the correct layout path in _ViewStart.cshtml.
+ ///
+ public bool IsRazorPages { get; set; }
}
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/ScaffoldSteps/ValidateIdentityStep.cs b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/ScaffoldSteps/ValidateIdentityStep.cs
index fe5d105c11..4eb2627f76 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/ScaffoldSteps/ValidateIdentityStep.cs
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/ScaffoldSteps/ValidateIdentityStep.cs
@@ -217,6 +217,7 @@ public override async Task ExecuteAsync(ScaffolderContext context, Cancell
userClassNamespace = $"{projectName}.Data";
}
+ bool isRazorPages = Directory.Exists(Path.Combine(projectDirectory, "Pages"));
IdentityModel scaffoldingModel = new()
{
ProjectInfo = projectInfo,
@@ -226,7 +227,8 @@ public override async Task ExecuteAsync(ScaffolderContext context, Cancell
UserClassNamespace = userClassNamespace,
IdentityLayoutNamespace = identityLayoutNamespace,
BaseOutputPath = projectDirectory,
- Overwrite = settings.Overwrite
+ Overwrite = settings.Overwrite,
+ IsRazorPages = isRazorPages
};
if (scaffoldingModel.ProjectInfo is not null && scaffoldingModel.ProjectInfo.CodeService is not null)
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.cs b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.cs
index f234219d2d..86dd3c7561 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.cs
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.cs
@@ -25,7 +25,9 @@ public partial class _ViewStart : _ViewStartBase
///
public virtual string TransformText()
{
- this.Write("@{\r\n Layout = \"/Pages/Shared/_Layout.cshtml\";\r\n}\r\n");
+ this.Write("@{\r\n Layout = \"");
+ this.Write(this.ToStringHelper.ToStringWithCulture(Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml"));
+ this.Write("\";\r\n}\r\n");
return this.GenerationEnvironment.ToString();
}
private global::Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost hostValue;
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.tt b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.tt
index 6cc92e3f7a..40dfed52d7 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.tt
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net10.0/Identity/Pages/_ViewStart.tt
@@ -4,5 +4,5 @@
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Linq" #>
@{
- Layout = "/Pages/Shared/_Layout.cshtml";
+ Layout = "<#= Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml" #>";
}
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.cs b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.cs
index 09932d9931..4375cdfec1 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.cs
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.cs
@@ -25,7 +25,9 @@ public partial class _ViewStart : _ViewStartBase
///
public virtual string TransformText()
{
- this.Write("@{\r\n Layout = \"/Pages/Shared/_Layout.cshtml\";\r\n}\r\n");
+ this.Write("@{\r\n Layout = \"");
+ this.Write(this.ToStringHelper.ToStringWithCulture(Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml"));
+ this.Write("\";\r\n}\r\n");
return this.GenerationEnvironment.ToString();
}
private global::Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost hostValue;
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.tt b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.tt
index 6cc92e3f7a..40dfed52d7 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.tt
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net11.0/Identity/Pages/_ViewStart.tt
@@ -4,5 +4,5 @@
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Linq" #>
@{
- Layout = "/Pages/Shared/_Layout.cshtml";
+ Layout = "<#= Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml" #>";
}
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.cs b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.cs
index 05b7804104..d341bc4adb 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.cs
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.cs
@@ -25,7 +25,9 @@ public partial class _ViewStart : _ViewStartBase
///
public virtual string TransformText()
{
- this.Write("@{\r\n Layout = \"/Pages/Shared/_Layout.cshtml\";\r\n}\r\n");
+ this.Write("@{\r\n Layout = \"");
+ this.Write(this.ToStringHelper.ToStringWithCulture(Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml"));
+ this.Write("\";\r\n}\r\n");
return this.GenerationEnvironment.ToString();
}
private global::Microsoft.VisualStudio.TextTemplating.ITextTemplatingEngineHost hostValue;
diff --git a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.tt b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.tt
index 6cc92e3f7a..40dfed52d7 100644
--- a/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.tt
+++ b/src/dotnet-scaffolding/dotnet-scaffold/AspNet/Templates/net9.0/Identity/Pages/_ViewStart.tt
@@ -4,5 +4,5 @@
<#@ import namespace="System.Text" #>
<#@ import namespace="System.Linq" #>
@{
- Layout = "/Pages/Shared/_Layout.cshtml";
+ Layout = "<#= Model.IsRazorPages ? "/Pages/Shared/_Layout.cshtml" : "/Views/Shared/_Layout.cshtml" #>";
}