From f824751bb97741f5b7a048dca624c04eb1f96a45 Mon Sep 17 00:00:00 2001 From: Kiran Challa Date: Tue, 10 Apr 2018 09:04:49 -0700 Subject: [PATCH] Added Razor class library project template [Fixes #323] Add a Razor class library project template --- ...crosoft.DotNet.Web.ProjectTemplates.csproj | 3 + .../RazorClassLibrary-CSharp.csproj.in | 10 +++ .../.template.config/dotnetcli.host.json | 19 +++++ .../.template.config/template.json | 78 ++++++++++++++++++ .../.template.config/vs-2017.3.host.json | 16 ++++ .../.template.config/vs-2017.3/Empty.png | Bin 0 -> 303 bytes .../Areas/MyFeature/Pages/Page1.cshtml | 16 ++++ .../Areas/MyFeature/Pages/Page1.cshtml.cs | 17 ++++ .../.template.config/vs-2017.3.host.json | 2 +- .../.template.config/vs-2017.3.host.json | 2 +- .../.template.config/vs-2017.3.host.json | 2 +- 11 files changed, 162 insertions(+), 3 deletions(-) create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/RazorClassLibrary-CSharp.csproj.in create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/dotnetcli.host.json create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/template.json create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3.host.json create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3/Empty.png create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/Areas/MyFeature/Pages/Page1.cshtml create mode 100644 src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/Areas/MyFeature/Pages/Page1.cshtml.cs diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj b/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj index d07e1fba9e..bb2d8decf8 100644 --- a/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/Microsoft.DotNet.Web.ProjectTemplates.csproj @@ -48,6 +48,9 @@ $(GeneratedContentProperties) + + $(GeneratedContentProperties) + $(GeneratedContentProperties) diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/RazorClassLibrary-CSharp.csproj.in b/src/Microsoft.DotNet.Web.ProjectTemplates/RazorClassLibrary-CSharp.csproj.in new file mode 100644 index 0000000000..fb5155ba60 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/RazorClassLibrary-CSharp.csproj.in @@ -0,0 +1,10 @@ + + + + netstandard2.0 + + + + + + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/dotnetcli.host.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/dotnetcli.host.json new file mode 100644 index 0000000000..a0e1462eeb --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/dotnetcli.host.json @@ -0,0 +1,19 @@ +{ + "$schema": "http://json.schemastore.org/dotnetcli.host", + "symbolInfo": { + "TargetFrameworkOverride": { + "isHidden": true, + "longName": "target-framework-override", + "shortName": "" + }, + "Framework": { + "longName": "framework", + "isHidden": true + }, + "skipRestore": { + "longName": "no-restore", + "shortName": "" + } + } +} +g \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/template.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/template.json new file mode 100644 index 0000000000..93b250c60c --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/template.json @@ -0,0 +1,78 @@ +{ + "$schema": "http://json.schemastore.org/template", + "author": "Microsoft", + "classifications": ["Web", "Razor", "Library", "Razor Class Library"], + "name": "Razor Class Library", + "generatorVersions": "[1.0.0.0-*)", + "description": "A project for creating a Razor class library that targets .NET Standard", + "groupIdentity": "Microsoft.Web.Razor", + "precedence": "3000", + "identity": "Microsoft.Web.Razor.Library.CSharp.2.1", + "shortName": "razorclasslib", + "tags": { + "language": "C#", + "type": "project" + }, + "sourceName": "Company.RazorClassLibrary1", + "preferNameDirectory": true, + "symbols": { + "TargetFrameworkOverride": { + "type": "parameter", + "description": "Overrides the target framework", + "replaces": "TargetFrameworkOverride", + "datatype": "string", + "defaultValue": "" + }, + "Framework": { + "type": "parameter", + "description": "The target framework for the project.", + "datatype": "choice", + "choices": [ + { + "choice": "netcoreapp2.1", + "description": "Target netcoreapp2.1" + } + ], + "defaultValue": "netcoreapp2.1" + }, + "HostIdentifier": { + "type": "bind", + "binding": "HostIdentifier" + }, + "skipRestore": { + "type": "parameter", + "datatype": "bool", + "description": "If specified, skips the automatic restore of the project on create.", + "defaultValue": "false" + } + }, + "primaryOutputs": [ + { "path": "Company.RazorClassLibrary1.csproj" }, + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "path": "Areas/MyFeature/Pages/Page1.cshtml" + } + ], + "defaultName": "RazorClassLibrary1", + "postActions": [ + { + "condition": "(!skipRestore)", + "description": "Restore NuGet packages required by this project.", + "manualInstructions": [ + { "text": "Run 'dotnet restore'" } + ], + "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025", + "continueOnError": true + }, + { + "condition": "(HostIdentifier != \"dotnetcli\" && HostIdentifier != \"dotnetcli-preview\")", + "description": "Opens Areas/MyFeature/Pages/Page1.cshtml in the editor", + "manualInstructions": [], + "actionId": "84C0DA21-51C8-4541-9940-6CA19AF04EE6", + "args": { + "files": "1" + }, + "continueOnError": true + } + ] +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3.host.json b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3.host.json new file mode 100644 index 0000000000..d053292666 --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3.host.json @@ -0,0 +1,16 @@ +{ + "$schema": "http://json.schemastore.org/vs-2017.3.host", + "name": { + "text": "Razor Class Library", + "id": "1023", + "package": "{0CD94836-1526-4E85-87D3-FB5274C5AFC9}" + }, + "description": { + "text": "A project template for creating a Razor class library.", + "id": "1024", + "package": "{0CD94836-1526-4E85-87D3-FB5274C5AFC9}" + }, + "order": 305, + "icon": "vs-2017.3/Empty.png", + "learnMoreLink": "https://go.microsoft.com/fwlink/?linkid=872103" +} diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3/Empty.png b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/.template.config/vs-2017.3/Empty.png new file mode 100644 index 0000000000000000000000000000000000000000..ea4b7e2492e49a6cbf0f4c8974264f780a26dfda GIT binary patch literal 303 zcmeAS@N?(olHy`uVBq!ia0vp^3LwnE1|*BCs=fdz&H|6fVg?4jBOuH;Rhv&5DEQFR z#WAEJ?(OxBT!#z<*dCl#b*|mwByO5;{9Nt)Z>+CwY`kEut(Ci2&SioycUO7yUenXZ zqJ*q~*<-vL*LX{n1E*1f(WT*0=6;r(8{1sYsVE9N$JoZz=qxHX@# z?DyN>avo-!5#67n142cQR3EhR<_L7S|2^RPR*NQvSsY9+6e{>Rlq>jGC~z$3RA`WE z`rcpw#3oJO5Bw| + + + + + Page1 + + + + diff --git a/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/Areas/MyFeature/Pages/Page1.cshtml.cs b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/Areas/MyFeature/Pages/Page1.cshtml.cs new file mode 100644 index 0000000000..07a0edacfc --- /dev/null +++ b/src/Microsoft.DotNet.Web.ProjectTemplates/content/RazorClassLibrary-CSharp/Areas/MyFeature/Pages/Page1.cshtml.cs @@ -0,0 +1,17 @@ +using System; +using System.Collections.Generic; +using System.Linq; +using System.Threading.Tasks; +using Microsoft.AspNetCore.Mvc; +using Microsoft.AspNetCore.Mvc.RazorPages; + +namespace Company.RazorClassLibrary1.MyFeature.Pages +{ + public class Page1Model : PageModel + { + public void OnGet() + { + + } + } +} \ No newline at end of file diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/vs-2017.3.host.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/vs-2017.3.host.json index cf57ee23cf..0a13a854c9 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/vs-2017.3.host.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/Angular-CSharp/.template.config/vs-2017.3.host.json @@ -10,7 +10,7 @@ "package": "{0CD94836-1526-4E85-87D3-FB5274C5AFC9}", "id": "1101" }, - "order": 301, + "order": 310, "icon": "icon.png", "learnMoreLink": "https://github.com/aspnet/JavaScriptServices", "uiFilters": [ diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/vs-2017.3.host.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/vs-2017.3.host.json index 0ee4d1fe1a..32b54c3ba9 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/vs-2017.3.host.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/React-CSharp/.template.config/vs-2017.3.host.json @@ -10,7 +10,7 @@ "package": "{0CD94836-1526-4E85-87D3-FB5274C5AFC9}", "id": "1501" }, - "order": 301, + "order": 315, "icon": "icon.png", "learnMoreLink": "https://github.com/aspnet/JavaScriptServices", "uiFilters": [ diff --git a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/vs-2017.3.host.json b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/vs-2017.3.host.json index 629210573d..28c7d1a3a5 100644 --- a/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/vs-2017.3.host.json +++ b/src/Microsoft.DotNet.Web.Spa.ProjectTemplates/content/ReactRedux-CSharp/.template.config/vs-2017.3.host.json @@ -10,7 +10,7 @@ "package": "{0CD94836-1526-4E85-87D3-FB5274C5AFC9}", "id": "1401" }, - "order": 301, + "order": 320, "icon": "icon.png", "learnMoreLink": "https://github.com/aspnet/JavaScriptServices", "uiFilters": [