├── src ├── Mvc.Basic │ ├── wwwroot │ │ ├── js │ │ │ └── site.js │ │ └── css │ │ │ └── site.css │ ├── Views │ │ ├── _ViewStart.cshtml │ │ ├── _ViewImports.cshtml │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── About.cshtml │ │ └── _Layout.cshtml │ ├── .template.config │ │ ├── icon.png │ │ ├── vs-2017.3.host.json │ │ └── template.json │ ├── appsettings.json │ ├── Mvc.Basic.csproj │ ├── Models │ │ └── Employee.cs │ ├── Properties │ │ └── launchSettings.json │ ├── Controllers │ │ └── HomeController.cs │ └── Startup.cs ├── Static.Web │ ├── wwwroot │ │ ├── js │ │ │ └── site.js │ │ ├── index.html │ │ ├── about.html │ │ └── css │ │ │ └── site.css │ ├── .template.config │ │ ├── icon.png │ │ ├── vs-2017.3.host.json │ │ └── template.json │ ├── Static.Web.csproj │ └── Properties │ │ └── launchSettings.json ├── Mvc.Fast │ ├── wwwroot │ │ ├── js │ │ │ └── all.js │ │ ├── favicon.png │ │ └── css │ │ │ ├── all.css │ │ │ └── abovethefold.css │ ├── Views │ │ ├── _ViewStart.cshtml │ │ ├── _ViewImports.cshtml │ │ ├── Home │ │ │ ├── Index.cshtml │ │ │ └── About.cshtml │ │ └── _Layout.cshtml │ ├── assets │ │ ├── js │ │ │ └── site.js │ │ └── css │ │ │ ├── belowthefold.css │ │ │ └── abovethefold.css │ ├── .template.config │ │ ├── icon.png │ │ ├── vs-2017.3.host.json │ │ └── template.json │ ├── package.json │ ├── appsettings.json │ ├── Models │ │ └── Employee.cs │ ├── appsettings.Development.json │ ├── Mvc.Fast.csproj │ ├── Properties │ │ └── launchSettings.json │ ├── Controllers │ │ └── HomeController.cs │ ├── gulpfile.js │ └── Startup.cs └── TemplatePackExtension │ ├── template.pkgdef │ ├── Resources │ ├── icon.png │ └── TemplatePackage.ico │ ├── Properties │ └── AssemblyInfo.cs │ ├── source.extension.vsixmanifest │ └── TemplatePackExtension.csproj ├── art ├── mvc-basic-pagespeed.png ├── mvc-basic-speedtest.png ├── mvc-fast-screenshot.png ├── new-project-dialog.png ├── mvc-basic-screenshot.png └── static-web-screenshot.png ├── LICENSE ├── appveyor.yml ├── .gitattributes ├── readme.md ├── AspNetCoreTemplatePack.sln └── .gitignore /src/Mvc.Basic/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. -------------------------------------------------------------------------------- /src/Static.Web/wwwroot/js/site.js: -------------------------------------------------------------------------------- 1 | // Write your Javascript code. -------------------------------------------------------------------------------- /src/Mvc.Fast/wwwroot/js/all.js: -------------------------------------------------------------------------------- 1 | !function(){"use strict";console.log("hello")}(); -------------------------------------------------------------------------------- /src/Mvc.Basic/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Mvc.Fast/Views/_ViewStart.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | Layout = "_Layout.cshtml"; 3 | } 4 | -------------------------------------------------------------------------------- /src/Mvc.Fast/assets/js/site.js: -------------------------------------------------------------------------------- 1 | (function () { 2 | "use strict"; 3 | 4 | console.log("hello"); 5 | })(); -------------------------------------------------------------------------------- /art/mvc-basic-pagespeed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/mvc-basic-pagespeed.png -------------------------------------------------------------------------------- /art/mvc-basic-speedtest.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/mvc-basic-speedtest.png -------------------------------------------------------------------------------- /art/mvc-fast-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/mvc-fast-screenshot.png -------------------------------------------------------------------------------- /art/new-project-dialog.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/new-project-dialog.png -------------------------------------------------------------------------------- /art/mvc-basic-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/mvc-basic-screenshot.png -------------------------------------------------------------------------------- /art/static-web-screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/art/static-web-screenshot.png -------------------------------------------------------------------------------- /src/Mvc.Fast/wwwroot/favicon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/Mvc.Fast/wwwroot/favicon.png -------------------------------------------------------------------------------- /src/Mvc.Fast/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Mvc.Fast 2 | @using Mvc.Fast.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /src/TemplatePackExtension/template.pkgdef: -------------------------------------------------------------------------------- 1 | [$RootKey$\TemplateEngine\Templates\AspNetCoreTemplatePack\1.1] 2 | "InstalledPath"="$PackageFolder$" -------------------------------------------------------------------------------- /src/Mvc.Basic/Views/_ViewImports.cshtml: -------------------------------------------------------------------------------- 1 | @using Mvc.Basic 2 | @using Mvc.Basic.Models 3 | @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers 4 | -------------------------------------------------------------------------------- /src/Mvc.Basic/.template.config/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/Mvc.Basic/.template.config/icon.png -------------------------------------------------------------------------------- /src/Mvc.Fast/.template.config/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/Mvc.Fast/.template.config/icon.png -------------------------------------------------------------------------------- /src/Static.Web/.template.config/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/Static.Web/.template.config/icon.png -------------------------------------------------------------------------------- /src/TemplatePackExtension/Resources/icon.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/TemplatePackExtension/Resources/icon.png -------------------------------------------------------------------------------- /src/TemplatePackExtension/Resources/TemplatePackage.ico: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/madskristensen/AspNetCoreTemplatePack/HEAD/src/TemplatePackExtension/Resources/TemplatePackage.ico -------------------------------------------------------------------------------- /src/Mvc.Basic/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "LogLevel": { 5 | "Default": "Debug", 6 | "System": "Information", 7 | "Microsoft": "Information" 8 | } 9 | } 10 | } 11 | -------------------------------------------------------------------------------- /src/Mvc.Basic/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | ViewData["Description"] = "The home page of my website"; 4 | } 5 | 6 |

This is the index.cshtml

7 | 8 | @section Scripts { 9 | @*Insert any script tags for this page here*@ 10 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/Views/Home/Index.cshtml: -------------------------------------------------------------------------------- 1 | @{ 2 | ViewData["Title"] = "Home Page"; 3 | ViewData["Description"] = "The home page of my website"; 4 | } 5 | 6 |

This is the index.cshtml

7 | 8 | @section Scripts { 9 | @*Insert any script tags for this page here*@ 10 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/package.json: -------------------------------------------------------------------------------- 1 | { 2 | "version": "1.0.0", 3 | "name": "mypackage", 4 | "private": true, 5 | "devDependencies": { 6 | "del": "2.2.2", 7 | "gulp": "3.9.1", 8 | "gulp-concat": "2.6.1", 9 | "gulp-csso": "3.0.0", 10 | "gulp-uglify": "3.0.0" 11 | } 12 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/wwwroot/css/all.css: -------------------------------------------------------------------------------- 1 | main{padding:2rem 0;display:block}.wrapper:after{content:"";display:block;height:50px}footer{height:50px}footer .container{border-top:1px solid #e1e1e1;padding-top:10px}@media only screen and (max-width:640px){header ul{text-align:center}header li:first-child{display:block}} -------------------------------------------------------------------------------- /src/Mvc.Fast/appsettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Warning" 7 | } 8 | }, 9 | "Console": { 10 | "LogLevel": { 11 | "Default": "Warning" 12 | } 13 | } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Static.Web/Static.Web.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp1.1 5 | 6 | 7 | 8 | 9 | 10 | 11 | -------------------------------------------------------------------------------- /src/Static.Web/.template.config/vs-2017.3.host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": { 3 | "text": "Static Web" 4 | }, 5 | "description": { 6 | "text": "A template for static web projects" 7 | }, 8 | "order": 1000, 9 | "icon": "icon.png", 10 | "learnMoreLink": "url", 11 | "uiFilters": [ "oneaspnet" ], 12 | "supportsDocker": true 13 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/.template.config/vs-2017.3.host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": { 3 | "text": "MVC High Performance" 4 | }, 5 | "description": { 6 | "text": "An ASP.NET Core template built with high performance best-practices" 7 | }, 8 | "order": 1000, 9 | "icon": "icon.png", 10 | "learnMoreLink": "url", 11 | "uiFilters": [ "oneaspnet" ], 12 | "supportsDocker": true 13 | } -------------------------------------------------------------------------------- /src/Mvc.Basic/.template.config/vs-2017.3.host.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": { 3 | "text": "MVC Basic" 4 | }, 5 | "description": { 6 | "text": "A basic ASP.NET Core MVC template with no dependency 3rd-party JavaScript and CSS frameworks" 7 | }, 8 | "order": 1000, 9 | "icon": "icon.png", 10 | "learnMoreLink": "url", 11 | "uiFilters": [ "oneaspnet" ], 12 | "supportsDocker": true 13 | } -------------------------------------------------------------------------------- /src/Mvc.Basic/Mvc.Basic.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | true 6 | 7 | 8 | 9 | 10 | 11 | 12 | -------------------------------------------------------------------------------- /src/Mvc.Basic/Models/Employee.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Mvc.Basic.Models 6 | { 7 | public class Employee 8 | { 9 | /// The full name of the employee. 10 | public string Name { get; set; } 11 | 12 | /// The job title of the employee. 13 | public string Title { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Mvc.Fast/Models/Employee.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | 5 | namespace Mvc.Fast.Models 6 | { 7 | public class Employee 8 | { 9 | /// The full name of the employee. 10 | public string Name { get; set; } 11 | 12 | /// The job title of the employee. 13 | public string Title { get; set; } 14 | } 15 | } 16 | -------------------------------------------------------------------------------- /src/Mvc.Fast/wwwroot/css/abovethefold.css: -------------------------------------------------------------------------------- 1 | body,html{height:100%;font:16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif;margin:0}.container{max-width:950px;margin:0 auto;padding:0 10px;display:block}header{background-color:#080808}nav a{color:#9d9d9d;text-decoration:none}nav ul{list-style:none;padding:.7em 0;margin:0}nav li{display:inline-block;margin:0 1em}nav li:first-child{font-size:1.3em;margin-left:0}.wrapper{min-height:100%;margin-bottom:-50px} -------------------------------------------------------------------------------- /src/Mvc.Fast/appsettings.Development.json: -------------------------------------------------------------------------------- 1 | { 2 | "Logging": { 3 | "IncludeScopes": false, 4 | "Debug": { 5 | "LogLevel": { 6 | "Default": "Debug", 7 | "System": "Information", 8 | "Microsoft": "Information" 9 | } 10 | }, 11 | "Console": { 12 | "LogLevel": { 13 | "Default": "Debug", 14 | "System": "Information", 15 | "Microsoft": "Information" 16 | } 17 | } 18 | } 19 | } 20 | -------------------------------------------------------------------------------- /src/Mvc.Basic/Views/Home/About.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | @{ 3 | ViewData["Title"] = "About Page"; 4 | ViewData["Description"] = "The about page of my website"; 5 | } 6 | 7 |

This is the about.cshtml

8 | 9 |

Employees

10 | 11 | 17 | 18 | @section Scripts { 19 | @*Insert any script tags for this page here*@ 20 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/Views/Home/About.cshtml: -------------------------------------------------------------------------------- 1 | @model IEnumerable 2 | @{ 3 | ViewData["Title"] = "About Page"; 4 | ViewData["Description"] = "The about page of my website"; 5 | } 6 | 7 |

This is the about.cshtml

8 | 9 |

Employees

10 | 11 | 17 | 18 | @section Scripts { 19 | @*Insert any script tags for this page here*@ 20 | } -------------------------------------------------------------------------------- /src/Mvc.Basic/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:13615/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "Mvc.Basic": { 19 | "commandName": "Project" 20 | } 21 | } 22 | } -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Copyright 2017 Mads Kristensen 2 | 3 | Licensed under the Apache License, Version 2.0 (the "License"); 4 | you may not use this file except in compliance with the License. 5 | You may obtain a copy of the License at 6 | 7 | http://www.apache.org/licenses/LICENSE-2.0 8 | 9 | Unless required by applicable law or agreed to in writing, software 10 | distributed under the License is distributed on an "AS IS" BASIS, 11 | WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 12 | See the License for the specific language governing permissions and 13 | limitations under the License. -------------------------------------------------------------------------------- /src/Mvc.Fast/Mvc.Fast.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | netcoreapp2.0 5 | true 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | -------------------------------------------------------------------------------- /src/Mvc.Fast/assets/css/belowthefold.css: -------------------------------------------------------------------------------- 1 | main { 2 | padding: 2rem 0; 3 | display: block; 4 | } 5 | 6 | /* This ensures the footer is always located at the bottom of the page */ 7 | .wrapper:after { 8 | content: ""; 9 | display: block; 10 | } 11 | 12 | footer, .wrapper:after { 13 | height: 50px; 14 | } 15 | 16 | footer .container { 17 | border-top: 1px solid #e1e1e1; 18 | padding-top: 10px; 19 | } 20 | 21 | /* Changes the layout of the header on small screens */ 22 | @media only screen and (max-width: 640px) { 23 | header ul { 24 | text-align: center; 25 | } 26 | 27 | header li:first-child { 28 | display: block; 29 | } 30 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:1116/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "WebApplication90": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:1116/" 25 | } 26 | } 27 | } -------------------------------------------------------------------------------- /src/Static.Web/Properties/launchSettings.json: -------------------------------------------------------------------------------- 1 | { 2 | "iisSettings": { 3 | "windowsAuthentication": false, 4 | "anonymousAuthentication": true, 5 | "iisExpress": { 6 | "applicationUrl": "http://localhost:33814/", 7 | "sslPort": 0 8 | } 9 | }, 10 | "profiles": { 11 | "IIS Express": { 12 | "commandName": "IISExpress", 13 | "launchBrowser": true, 14 | "environmentVariables": { 15 | "ASPNETCORE_ENVIRONMENT": "Development" 16 | } 17 | }, 18 | "StaticWeb": { 19 | "commandName": "Project", 20 | "launchBrowser": true, 21 | "environmentVariables": { 22 | "ASPNETCORE_ENVIRONMENT": "Development" 23 | }, 24 | "applicationUrl": "http://localhost:33815" 25 | } 26 | } 27 | } 28 | -------------------------------------------------------------------------------- /src/Mvc.Fast/.template.config/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Mads Kristensen", 3 | "classifications": [ "Web", "MVC" ], 4 | "name": "ASP.NET Core MVC Fast", 5 | "defaultName": "WebApplication1", 6 | "identity": "madsk.mvc.fast", 7 | "groupIdentity": "madsk.mvc.fast", 8 | "shortName": "mvcfast", 9 | "tags": { 10 | "language": "C#", 11 | "type": "project" 12 | }, 13 | "sourceName": "Mvc.Fast", 14 | "preferNameDirectory": true, 15 | "primaryOutputs": [ { "path": "Mvc.Fast.csproj" } ], 16 | "symbols": { 17 | "Framework": { 18 | "type": "parameter", 19 | "description": "The target framework for the project.", 20 | "datatype": "choice", 21 | "choices": [ 22 | { 23 | "choice": "netcoreapp2.0", 24 | "description": "Target netcoreapp2.0" 25 | } 26 | ], 27 | "defaultValue": "netcoreapp2.0" 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/Mvc.Basic/.template.config/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Mads Kristensen", 3 | "classifications": [ "Web", "MVC" ], 4 | "name": "ASP.NET Core MVC Basic", 5 | "defaultName": "WebApplication1", 6 | "identity": "madsk.mvc.basic", 7 | "groupIdentity": "madsk.mvc.basic", 8 | "shortName": "mvcbasic", 9 | "tags": { 10 | "language": "C#", 11 | "type": "project" 12 | }, 13 | "sourceName": "Mvc.Basic", 14 | "preferNameDirectory": true, 15 | "primaryOutputs": [ { "path": "Mvc.Basic.csproj" } ], 16 | "symbols": { 17 | "Framework": { 18 | "type": "parameter", 19 | "description": "The target framework for the project.", 20 | "datatype": "choice", 21 | "choices": [ 22 | { 23 | "choice": "netcoreapp2.0", 24 | "description": "Target netcoreapp2.0" 25 | } 26 | ], 27 | "defaultValue": "netcoreapp2.0" 28 | } 29 | } 30 | } -------------------------------------------------------------------------------- /src/Static.Web/.template.config/template.json: -------------------------------------------------------------------------------- 1 | { 2 | "author": "Mads Kristensen", 3 | "classifications": [ "Web", "Static" ], 4 | "name": "ASP.NET Core Static Web", 5 | "defaultName": "WebApplication1", 6 | "identity": "madsk.static.web", 7 | "groupIdentity": "madsk.static.web", 8 | "shortName": "staticweb", 9 | "tags": { 10 | "language": "C#", 11 | "type": "project" 12 | }, 13 | "sourceName": "Static.Web", 14 | "preferNameDirectory": true, 15 | "primaryOutputs": [ { "path": "Static.Web.csproj" } ], 16 | "symbols": { 17 | "Framework": { 18 | "type": "parameter", 19 | "description": "The target framework for the project.", 20 | "datatype": "choice", 21 | "choices": [ 22 | { 23 | "choice": "netcoreapp1.1", 24 | "description": "Target netcoreapp1.1" 25 | }, 26 | { 27 | "choice": "netcoreapp2.0", 28 | "description": "Target netcoreapp2.0" 29 | } 30 | ], 31 | "replaces": "netcoreapp1.1", 32 | "defaultValue": "netcoreapp1.1" 33 | } 34 | } 35 | } -------------------------------------------------------------------------------- /src/Mvc.Fast/assets/css/abovethefold.css: -------------------------------------------------------------------------------- 1 | /* 2 | The content of this file is being inlined into a 9 | 10 | 11 | 12 | 13 |
14 |
15 | 22 |
23 | 24 |
25 |

@ViewData["Title"]

26 | @RenderBody() 27 |
28 |
29 | 30 |
31 |
32 | © @DateTime.Now.Year - Mvc.Fast 33 |
34 |
35 | 36 | 37 | 38 | @RenderSection("scripts", required: false) 39 | 40 | 41 | -------------------------------------------------------------------------------- /src/Mvc.Fast/gulpfile.js: -------------------------------------------------------------------------------- 1 | /// 2 | 3 | var del = require("del"), 4 | gulp = require("gulp"), 5 | concat = require("gulp-concat"), 6 | csso = require("gulp-csso"), 7 | uglify = require("gulp-uglify"); 8 | 9 | var files = { 10 | cssInput: "assets/css/", 11 | cssOutput: "wwwroot/css/", 12 | jsInput: "assets/js/", 13 | jsOutput: "wwwroot/js/" 14 | }; 15 | 16 | gulp.task("default", ["css:min", "js:min"]); 17 | gulp.task("clean", ["css:clean", "js:clean"]); 18 | 19 | gulp.task("watch", ["default"], function () { 20 | gulp.watch(files.cssInput + "*.css", ["css:min"]); 21 | gulp.watch(files.jsInput + "*.js", ["js:min"]); 22 | }); 23 | 24 | // CSS 25 | gulp.task("css:min", function () { 26 | gulp.src(files.cssInput + "abovethefold.css") 27 | .pipe(csso()) 28 | .pipe(gulp.dest(files.cssOutput)); 29 | 30 | return gulp.src([files.cssInput + "*.css", "!" + files.cssInput + "abovethefold.css"]) 31 | .pipe(concat("all.css")) 32 | .pipe(csso()) 33 | .pipe(gulp.dest(files.cssOutput)); 34 | }); 35 | 36 | gulp.task("css:clean", function () { 37 | return del(files.cssOutput); 38 | }); 39 | 40 | // JavaScript 41 | gulp.task("js:min", function () { 42 | return gulp.src([files.jsInput + "/*.js"]) 43 | .pipe(concat("all.js")) 44 | .pipe(uglify()) 45 | .pipe(gulp.dest(files.jsOutput)); 46 | }); 47 | 48 | gulp.task("js:clean", function () { 49 | return del(files.jsOutput); 50 | }); 51 | -------------------------------------------------------------------------------- /src/Mvc.Basic/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | font: 16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; 4 | margin: 0; 5 | } 6 | 7 | .container { 8 | max-width: 950px; 9 | margin: 0 auto; 10 | padding: 0 10px; 11 | display: block; 12 | } 13 | 14 | header { 15 | background-color: #080808; 16 | } 17 | 18 | nav a { 19 | color: #9d9d9d; 20 | text-decoration: none; 21 | } 22 | 23 | nav ul { 24 | list-style: none; 25 | padding: 0.7em 0; 26 | margin: 0; 27 | } 28 | 29 | nav li { 30 | display: inline-block; 31 | margin: 0 1em; 32 | } 33 | 34 | nav li:first-child { 35 | font-size: 1.3em; 36 | margin-left: 0; 37 | } 38 | 39 | main { 40 | padding: 2rem 0; 41 | display: block; 42 | } 43 | 44 | /* This ensures the footer is always located at the bottom of the page */ 45 | .wrapper { 46 | min-height: 100%; 47 | /* equal to footer height */ 48 | margin-bottom: -50px; 49 | } 50 | 51 | .wrapper:after { 52 | content: ""; 53 | display: block; 54 | } 55 | 56 | footer, .wrapper:after { 57 | height: 50px; 58 | } 59 | 60 | footer .container { 61 | border-top: 1px solid #e1e1e1; 62 | padding-top: 10px; 63 | } 64 | 65 | /* Changes the layout of the header on small screens */ 66 | @media only screen and (max-width: 640px) { 67 | header ul { 68 | text-align: center; 69 | } 70 | 71 | header li:first-child { 72 | display: block; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/Static.Web/wwwroot/css/site.css: -------------------------------------------------------------------------------- 1 | html, body { 2 | height: 100%; 3 | font: 16px/1.5 "Helvetica Neue",Helvetica,Arial,sans-serif; 4 | margin: 0; 5 | } 6 | 7 | .container { 8 | max-width: 950px; 9 | margin: 0 auto; 10 | padding: 0 10px; 11 | display: block; 12 | } 13 | 14 | header { 15 | background-color: #080808; 16 | } 17 | 18 | nav a { 19 | color: #9d9d9d; 20 | text-decoration: none; 21 | } 22 | 23 | nav ul { 24 | list-style: none; 25 | padding: 0.7em 0; 26 | margin: 0; 27 | } 28 | 29 | nav li { 30 | display: inline-block; 31 | margin: 0 1em; 32 | } 33 | 34 | nav li:first-child { 35 | font-size: 1.3em; 36 | margin-left: 0; 37 | } 38 | 39 | main { 40 | padding: 2rem 0; 41 | display: block; 42 | } 43 | 44 | /* This ensures the footer is always located at the bottom of the page */ 45 | .wrapper { 46 | min-height: 100%; 47 | /* equal to footer height */ 48 | margin-bottom: -50px; 49 | } 50 | 51 | .wrapper:after { 52 | content: ""; 53 | display: block; 54 | } 55 | 56 | footer, .wrapper:after { 57 | height: 50px; 58 | } 59 | 60 | footer .container { 61 | border-top: 1px solid #e1e1e1; 62 | padding-top: 10px; 63 | } 64 | 65 | /* Changes the layout of the header on small screens */ 66 | @media only screen and (max-width: 640px) { 67 | header ul { 68 | text-align: center; 69 | } 70 | 71 | header li:first-child { 72 | display: block; 73 | } 74 | } 75 | -------------------------------------------------------------------------------- /src/TemplatePackExtension/source.extension.vsixmanifest: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | ASP.NET Core Template Pack 2017.3 6 | Contains various project templates for ASP.NET Core development. Requires Visual Studio 2017.3 7 | https://github.com/madskristensen/AspNetCoreTemplatePack/ 8 | Resources\LICENSE 9 | Resources\icon.png 10 | Resources\icon.png 11 | asp.net core, template 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | -------------------------------------------------------------------------------- /src/Mvc.Basic/Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.IO; 4 | using System.Linq; 5 | using Microsoft.AspNetCore.Builder; 6 | using Microsoft.AspNetCore.Hosting; 7 | using Microsoft.Extensions.DependencyInjection; 8 | using Microsoft.Extensions.Logging; 9 | using Microsoft.Extensions.Configuration; 10 | using Microsoft.AspNetCore; 11 | 12 | namespace StarterMvcTemplate 13 | { 14 | public class Startup 15 | { 16 | public Startup(IConfiguration configuration) 17 | { 18 | Configuration = configuration; 19 | } 20 | 21 | public static void Main(string[] args) 22 | { 23 | BuildWebHost(args).Run(); 24 | } 25 | 26 | public static IWebHost BuildWebHost(string[] args) => 27 | WebHost.CreateDefaultBuilder(args) 28 | .UseStartup() 29 | .Build(); 30 | 31 | public IConfiguration Configuration { get; } 32 | 33 | // This method gets called by the runtime. Use this method to add services to the container. 34 | // For more information on how to configure your application, visit https://go.microsoft.com/fwlink/?LinkID=398940 35 | public void ConfigureServices(IServiceCollection services) 36 | { 37 | services.AddMvc(); 38 | } 39 | 40 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 41 | public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) 42 | { 43 | if (env.IsDevelopment()) 44 | { 45 | app.UseDeveloperExceptionPage(); 46 | } 47 | 48 | app.UseFileServer(); 49 | 50 | app.UseMvc(routes => 51 | { 52 | routes.MapRoute( 53 | name: "default", 54 | template: "{controller=Home}/{action=Index}/{id?}"); 55 | }); 56 | } 57 | } 58 | } 59 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | ############################################################################### 2 | # Set default behavior to automatically normalize line endings. 3 | ############################################################################### 4 | * text=auto 5 | 6 | ############################################################################### 7 | # Set default behavior for command prompt diff. 8 | # 9 | # This is need for earlier builds of msysgit that does not have it on by 10 | # default for csharp files. 11 | # Note: This is only used by command line 12 | ############################################################################### 13 | #*.cs diff=csharp 14 | 15 | ############################################################################### 16 | # Set the merge driver for project and solution files 17 | # 18 | # Merging from the command prompt will add diff markers to the files if there 19 | # are conflicts (Merging from VS is not affected by the settings below, in VS 20 | # the diff markers are never inserted). Diff markers may cause the following 21 | # file extensions to fail to load in VS. An alternative would be to treat 22 | # these files as binary and thus will always conflict and require user 23 | # intervention with every merge. To do so, just uncomment the entries below 24 | ############################################################################### 25 | #*.sln merge=binary 26 | #*.csproj merge=binary 27 | #*.vbproj merge=binary 28 | #*.vcxproj merge=binary 29 | #*.vcproj merge=binary 30 | #*.dbproj merge=binary 31 | #*.fsproj merge=binary 32 | #*.lsproj merge=binary 33 | #*.wixproj merge=binary 34 | #*.modelproj merge=binary 35 | #*.sqlproj merge=binary 36 | #*.wwaproj merge=binary 37 | 38 | ############################################################################### 39 | # behavior for image files 40 | # 41 | # image files are treated as binary by default. 42 | ############################################################################### 43 | #*.jpg binary 44 | #*.png binary 45 | #*.gif binary 46 | 47 | ############################################################################### 48 | # diff behavior for common document formats 49 | # 50 | # Convert binary document formats to text before diffing them. This feature 51 | # is only available from the command line. Turn it on by uncommenting the 52 | # entries below. 53 | ############################################################################### 54 | #*.doc diff=astextplain 55 | #*.DOC diff=astextplain 56 | #*.docx diff=astextplain 57 | #*.DOCX diff=astextplain 58 | #*.dot diff=astextplain 59 | #*.DOT diff=astextplain 60 | #*.pdf diff=astextplain 61 | #*.PDF diff=astextplain 62 | #*.rtf diff=astextplain 63 | #*.RTF diff=astextplain 64 | -------------------------------------------------------------------------------- /readme.md: -------------------------------------------------------------------------------- 1 | # ASP.NET Core Template Pack 2 | 3 | [![Build status](https://ci.appveyor.com/api/projects/status/2txy5hi1ac7jima6?svg=true)](https://ci.appveyor.com/project/madskristensen/aspnetcoretemplatepack) 4 | 5 | Contains the following project templates for ASP.NET Core development: 6 | 7 | - Static website template 8 | - MVC Basic template 9 | - MVC Fast template 10 | - Blog application 11 | - Photo Gallery application 12 | 13 | ## Install 14 | 15 | ### Command line 16 | In the console, execute the following command: 17 | 18 | > dotnet new -i "MadsKristensen.AspNetCore.Web.Templates::\*" 19 | 20 | ### Visual Studio 2017.3 21 | The extension adds the project template to the ASP.NET New Project dialog: 22 | 23 | ![New Project Dialog](art/new-project-dialog.png) 24 | 25 | ## Templates 26 | 27 | ### Static Website 28 | Uses the ASP.NET Core project system to provide the latest features in Visual Studio web tooling to create a completely static website. No C# in the project at all - just plain old CSS, JavaScript and HTML. 29 | 30 | ![Static Web Screenshot](art/static-web-screenshot.png) 31 | 32 | ## Custom MimeType mappings 33 | See the [Static Site Helper repo](https://github.com/madskristensen/AspNetCore.StaticSiteHelper) for how to serve custom file extensions at development time through ASP.NET Core. 34 | 35 | #### Use 36 | 37 | > dotnet new staticweb -n myapp 38 | 39 | ### MVC Basic 40 | This template makes it super easy to get started with building an ASP.NET Core MVC application. It doesn't have any dependencies on Bower, npm, BundlerMinifier, Bootstrap, jQuery or anything else. It's the perfect starting point for developers that know their ASP.NET Core. 41 | 42 | ![Mvc Basic Screenshot](art/mvc-basic-screenshot.png) 43 | 44 | #### Use 45 | 46 | > dotnet new mvcbasic -n myapp 47 | 48 | ### MVC Fast 49 | This template is a variation of the *MVC Basic* template, but with added features for creating high performance web applications. 50 | 51 | **Features**: 52 | 53 | - Using Gulp to bundle and minify CSS and JS files 54 | - Minifies the HTML 55 | - Uses response caching on both client and server 56 | - Inline CSS for *above the fold* content 57 | - Cache busting of CSS and JS references 58 | 59 | ![Mvc Fast Screenshot](art/mvc-fast-screenshot.png) 60 | 61 | The template points starts you out with the best score on [webpagetest.org](http://webpagetest.org). 62 | 63 | ![Speed test](art/mvc-basic-speedtest.png) 64 | 65 | As well as 100/100 points on [PageSpeed Insights](https://developers.google.com/speed/pagespeed/insights/) 66 | 67 | ![PageSpeed Insights](art/mvc-basic-pagespeed.png) 68 | 69 | #### Use 70 | 71 | > dotnet new mvcfast -n myapp && npm install 72 | 73 | ### Blog application 74 | This is the [Miniblog.Core](https://github.com/madskristensen/Miniblog.Core) application - a high performant and full featured blogging app. 75 | 76 | ### Photo Gallery application 77 | This is the [Photo Gallery](https://github.com/madskristensen/PhotoGallery) application - A photo gallery site implemented in ASP.NET Core 2.0 Razor Pages. -------------------------------------------------------------------------------- /src/Mvc.Fast/Startup.cs: -------------------------------------------------------------------------------- 1 | using System; 2 | using System.Collections.Generic; 3 | using System.Linq; 4 | using System.Threading.Tasks; 5 | using Microsoft.AspNetCore.Builder; 6 | using Microsoft.AspNetCore.Hosting; 7 | using Microsoft.Extensions.Configuration; 8 | using Microsoft.Extensions.DependencyInjection; 9 | using Microsoft.AspNetCore.Http; 10 | using Microsoft.Net.Http.Headers; 11 | using Microsoft.AspNetCore; 12 | using WebMarkupMin.AspNetCore2; 13 | 14 | namespace Mvc.Fast 15 | { 16 | public class Startup 17 | { 18 | public Startup(IConfiguration configuration) 19 | { 20 | Configuration = configuration; 21 | } 22 | 23 | public static void Main(string[] args) 24 | { 25 | BuildWebHost(args).Run(); 26 | } 27 | 28 | public static IWebHost BuildWebHost(string[] args) => 29 | WebHost.CreateDefaultBuilder(args) 30 | .UseStartup() 31 | .Build(); 32 | 33 | public IConfiguration Configuration { get; } 34 | 35 | // This method gets called by the runtime. Use this method to add services to the container. 36 | public void ConfigureServices(IServiceCollection services) 37 | { 38 | services.AddResponseCaching(); 39 | services.AddMvc(); 40 | 41 | services.AddWebMarkupMin(options => 42 | { 43 | options.AllowMinificationInDevelopmentEnvironment = true; 44 | options.DisablePoweredByHttpHeaders = true; 45 | options.DisableCompression = true; 46 | }) 47 | .AddHtmlMinification(options => 48 | { 49 | options.MinificationSettings.RemoveRedundantAttributes = true; 50 | options.MinificationSettings.RemoveHttpProtocolFromAttributes = true; 51 | options.MinificationSettings.RemoveHttpsProtocolFromAttributes = true; 52 | options.MinificationSettings.MinifyEmbeddedCssCode = false; 53 | options.MinificationSettings.RemoveOptionalEndTags = false; 54 | }); 55 | } 56 | 57 | // This method gets called by the runtime. Use this method to configure the HTTP request pipeline. 58 | public void Configure(IApplicationBuilder app, IHostingEnvironment env) 59 | { 60 | if (env.IsDevelopment()) 61 | { 62 | app.UseDeveloperExceptionPage(); 63 | } 64 | else 65 | { 66 | app.UseResponseCaching(); 67 | } 68 | 69 | app.UseStaticFiles(new StaticFileOptions() 70 | { 71 | OnPrepareResponse = (context) => 72 | { 73 | var headers = context.Context.Response.GetTypedHeaders(); 74 | headers.CacheControl = new CacheControlHeaderValue() 75 | { 76 | MaxAge = TimeSpan.FromDays(365) 77 | }; 78 | } 79 | }); 80 | 81 | app.UseWebMarkupMin(); 82 | 83 | app.UseMvc(routes => 84 | { 85 | routes.MapRoute( 86 | name: "default", 87 | template: "{controller=Home}/{action=Index}/{id?}"); 88 | }); 89 | } 90 | } 91 | } 92 | -------------------------------------------------------------------------------- /AspNetCoreTemplatePack.sln: -------------------------------------------------------------------------------- 1 | 2 | Microsoft Visual Studio Solution File, Format Version 12.00 3 | # Visual Studio 15 4 | VisualStudioVersion = 15.0.27019.1 5 | MinimumVisualStudioVersion = 10.0.40219.1 6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Static.Web", "src\Static.Web\Static.Web.csproj", "{8A8DFA27-51DA-4988-AC02-440D7DBC20B4}" 7 | EndProject 8 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Templates", "Templates", "{11291606-75F6-4D1D-AAE7-450519BF0A3A}" 9 | EndProject 10 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{B4ACF73E-CF8D-40A6-A76A-74B9173A4386}" 11 | ProjectSection(SolutionItems) = preProject 12 | appveyor.yml = appveyor.yml 13 | build\AspNetCoreTemplatePack.nuspec = build\AspNetCoreTemplatePack.nuspec 14 | build\download.ps1 = build\download.ps1 15 | readme.md = readme.md 16 | EndProjectSection 17 | EndProject 18 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mvc.Basic", "src\Mvc.Basic\Mvc.Basic.csproj", "{401C53D8-1F99-4B9C-BE80-232709F5AB27}" 19 | EndProject 20 | Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "VS", "VS", "{14F9BE0A-5B5B-473D-8CAC-AC8D47643D92}" 21 | EndProject 22 | Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "TemplatePackExtension", "src\TemplatePackExtension\TemplatePackExtension.csproj", "{9CBDC814-52D6-47A7-9913-8675A5051486}" 23 | EndProject 24 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Mvc.Fast", "src\Mvc.Fast\Mvc.Fast.csproj", "{520684E9-533A-4640-90BC-3968328583A2}" 25 | EndProject 26 | Global 27 | GlobalSection(SolutionConfigurationPlatforms) = preSolution 28 | Debug|Any CPU = Debug|Any CPU 29 | Release|Any CPU = Release|Any CPU 30 | EndGlobalSection 31 | GlobalSection(ProjectConfigurationPlatforms) = postSolution 32 | {8A8DFA27-51DA-4988-AC02-440D7DBC20B4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 33 | {8A8DFA27-51DA-4988-AC02-440D7DBC20B4}.Debug|Any CPU.Build.0 = Debug|Any CPU 34 | {8A8DFA27-51DA-4988-AC02-440D7DBC20B4}.Release|Any CPU.ActiveCfg = Release|Any CPU 35 | {8A8DFA27-51DA-4988-AC02-440D7DBC20B4}.Release|Any CPU.Build.0 = Release|Any CPU 36 | {401C53D8-1F99-4B9C-BE80-232709F5AB27}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 37 | {401C53D8-1F99-4B9C-BE80-232709F5AB27}.Debug|Any CPU.Build.0 = Debug|Any CPU 38 | {401C53D8-1F99-4B9C-BE80-232709F5AB27}.Release|Any CPU.ActiveCfg = Release|Any CPU 39 | {401C53D8-1F99-4B9C-BE80-232709F5AB27}.Release|Any CPU.Build.0 = Release|Any CPU 40 | {9CBDC814-52D6-47A7-9913-8675A5051486}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 41 | {9CBDC814-52D6-47A7-9913-8675A5051486}.Debug|Any CPU.Build.0 = Debug|Any CPU 42 | {9CBDC814-52D6-47A7-9913-8675A5051486}.Release|Any CPU.ActiveCfg = Release|Any CPU 43 | {9CBDC814-52D6-47A7-9913-8675A5051486}.Release|Any CPU.Build.0 = Release|Any CPU 44 | {520684E9-533A-4640-90BC-3968328583A2}.Debug|Any CPU.ActiveCfg = Debug|Any CPU 45 | {520684E9-533A-4640-90BC-3968328583A2}.Debug|Any CPU.Build.0 = Debug|Any CPU 46 | {520684E9-533A-4640-90BC-3968328583A2}.Release|Any CPU.ActiveCfg = Release|Any CPU 47 | {520684E9-533A-4640-90BC-3968328583A2}.Release|Any CPU.Build.0 = Release|Any CPU 48 | EndGlobalSection 49 | GlobalSection(SolutionProperties) = preSolution 50 | HideSolutionNode = FALSE 51 | EndGlobalSection 52 | GlobalSection(NestedProjects) = preSolution 53 | {8A8DFA27-51DA-4988-AC02-440D7DBC20B4} = {11291606-75F6-4D1D-AAE7-450519BF0A3A} 54 | {401C53D8-1F99-4B9C-BE80-232709F5AB27} = {11291606-75F6-4D1D-AAE7-450519BF0A3A} 55 | {9CBDC814-52D6-47A7-9913-8675A5051486} = {14F9BE0A-5B5B-473D-8CAC-AC8D47643D92} 56 | {520684E9-533A-4640-90BC-3968328583A2} = {11291606-75F6-4D1D-AAE7-450519BF0A3A} 57 | EndGlobalSection 58 | GlobalSection(ExtensibilityGlobals) = postSolution 59 | SolutionGuid = {4D96D099-351F-4327-8DBE-1B5C836753E3} 60 | EndGlobalSection 61 | EndGlobal 62 | -------------------------------------------------------------------------------- /src/TemplatePackExtension/TemplatePackExtension.csproj: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 15.0 5 | $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion) 6 | Program 7 | $(DevEnvDir)\devenv.exe 8 | /rootsuffix Exp 9 | 10 | 11 | 12 | Debug 13 | AnyCPU 14 | 2.0 15 | {82b43b9b-a64c-4715-b499-d71e9ca2bd60};{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC} 16 | {9CBDC814-52D6-47A7-9913-8675A5051486} 17 | Library 18 | Properties 19 | TemplatePackExtension 20 | TemplatePackExtension 21 | v4.6 22 | false 23 | false 24 | false 25 | false 26 | false 27 | false 28 | 29 | 30 | true 31 | full 32 | false 33 | bin\Debug\ 34 | DEBUG;TRACE 35 | prompt 36 | 4 37 | 38 | 39 | pdbonly 40 | true 41 | bin\Release\ 42 | TRACE 43 | prompt 44 | 4 45 | 46 | 47 | 48 | 49 | 50 | 51 | AspNetCore.Web.Templates.nupkg 52 | true 53 | 54 | 55 | Resources\LICENSE 56 | true 57 | 58 | 59 | Designer 60 | 61 | 62 | 63 | 64 | true 65 | 66 | 67 | true 68 | 69 | 70 | 71 | 72 | 79 | -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- 1 | ## Ignore Visual Studio temporary files, build results, and 2 | ## files generated by popular Visual Studio add-ons. 3 | 4 | # User-specific files 5 | *.suo 6 | *.user 7 | *.pubxml 8 | *.userosscache 9 | *.sln.docstates 10 | 11 | # User-specific files (MonoDevelop/Xamarin Studio) 12 | *.userprefs 13 | 14 | # Build results 15 | [Dd]ebug/ 16 | [Dd]ebugPublic/ 17 | [Rr]elease/ 18 | [Rr]eleases/ 19 | x64/ 20 | x86/ 21 | bld/ 22 | [Bb]in/ 23 | [Oo]bj/ 24 | [Ll]og/ 25 | 26 | # Visual Studio 2015 cache/options directory 27 | .vs/ 28 | # Uncomment if you have tasks that create the project's static files in wwwroot 29 | #wwwroot/ 30 | 31 | # MSTest test Results 32 | [Tt]est[Rr]esult*/ 33 | [Bb]uild[Ll]og.* 34 | 35 | # NUNIT 36 | *.VisualState.xml 37 | TestResult.xml 38 | 39 | # Build Results of an ATL Project 40 | [Dd]ebugPS/ 41 | [Rr]eleasePS/ 42 | dlldata.c 43 | 44 | # DNX 45 | project.lock.json 46 | project.fragment.lock.json 47 | artifacts/ 48 | 49 | *_i.c 50 | *_p.c 51 | *_i.h 52 | *.ilk 53 | *.meta 54 | *.obj 55 | *.pch 56 | *.pdb 57 | *.pgc 58 | *.pgd 59 | *.rsp 60 | *.sbr 61 | *.tlb 62 | *.tli 63 | *.tlh 64 | *.tmp 65 | *.tmp_proj 66 | *.log 67 | *.vspscc 68 | *.vssscc 69 | .builds 70 | *.pidb 71 | *.svclog 72 | *.scc 73 | 74 | # Chutzpah Test files 75 | _Chutzpah* 76 | 77 | # Visual C++ cache files 78 | ipch/ 79 | *.aps 80 | *.ncb 81 | *.opendb 82 | *.opensdf 83 | *.sdf 84 | *.cachefile 85 | *.VC.db 86 | *.VC.VC.opendb 87 | 88 | # Visual Studio profiler 89 | *.psess 90 | *.vsp 91 | *.vspx 92 | *.sap 93 | 94 | # TFS 2012 Local Workspace 95 | $tf/ 96 | 97 | # Guidance Automation Toolkit 98 | *.gpState 99 | 100 | # ReSharper is a .NET coding add-in 101 | _ReSharper*/ 102 | *.[Rr]e[Ss]harper 103 | *.DotSettings.user 104 | 105 | # JustCode is a .NET coding add-in 106 | .JustCode 107 | 108 | # TeamCity is a build add-in 109 | _TeamCity* 110 | 111 | # DotCover is a Code Coverage Tool 112 | *.dotCover 113 | 114 | # NCrunch 115 | _NCrunch_* 116 | .*crunch*.local.xml 117 | nCrunchTemp_* 118 | 119 | # MightyMoose 120 | *.mm.* 121 | AutoTest.Net/ 122 | 123 | # Web workbench (sass) 124 | .sass-cache/ 125 | 126 | # Installshield output folder 127 | [Ee]xpress/ 128 | 129 | # DocProject is a documentation generator add-in 130 | DocProject/buildhelp/ 131 | DocProject/Help/*.HxT 132 | DocProject/Help/*.HxC 133 | DocProject/Help/*.hhc 134 | DocProject/Help/*.hhk 135 | DocProject/Help/*.hhp 136 | DocProject/Help/Html2 137 | DocProject/Help/html 138 | 139 | # Click-Once directory 140 | publish/ 141 | 142 | # Publish Web Output 143 | *.[Pp]ublish.xml 144 | *.azurePubxml 145 | # TODO: Comment the next line if you want to checkin your web deploy settings 146 | # but database connection strings (with potential passwords) will be unencrypted 147 | #*.pubxml 148 | *.publishproj 149 | 150 | # Microsoft Azure Web App publish settings. Comment the next line if you want to 151 | # checkin your Azure Web App publish settings, but sensitive information contained 152 | # in these scripts will be unencrypted 153 | PublishScripts/ 154 | 155 | # NuGet Packages 156 | *.nupkg 157 | # The packages folder can be ignored because of Package Restore 158 | **/packages/* 159 | # except build/, which is used as an MSBuild target. 160 | !**/packages/build/ 161 | # Uncomment if necessary however generally it will be regenerated when needed 162 | #!**/packages/repositories.config 163 | # NuGet v3's project.json files produces more ignoreable files 164 | *.nuget.props 165 | *.nuget.targets 166 | 167 | # Microsoft Azure Build Output 168 | csx/ 169 | *.build.csdef 170 | 171 | # Microsoft Azure Emulator 172 | ecf/ 173 | rcf/ 174 | 175 | # Windows Store app package directories and files 176 | AppPackages/ 177 | BundleArtifacts/ 178 | Package.StoreAssociation.xml 179 | _pkginfo.txt 180 | 181 | # Visual Studio cache files 182 | # files ending in .cache can be ignored 183 | *.[Cc]ache 184 | # but keep track of directories ending in .cache 185 | !*.[Cc]ache/ 186 | 187 | # Others 188 | ClientBin/ 189 | ~$* 190 | *~ 191 | *.dbmdl 192 | *.dbproj.schemaview 193 | *.jfm 194 | *.pfx 195 | *.publishsettings 196 | node_modules/ 197 | orleans.codegen.cs 198 | 199 | # Since there are multiple workflows, uncomment next line to ignore bower_components 200 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622) 201 | #bower_components/ 202 | 203 | # RIA/Silverlight projects 204 | Generated_Code/ 205 | 206 | # Backup & report files from converting an old project file 207 | # to a newer Visual Studio version. Backup files are not needed, 208 | # because we have git ;-) 209 | _UpgradeReport_Files/ 210 | Backup*/ 211 | UpgradeLog*.XML 212 | UpgradeLog*.htm 213 | 214 | # SQL Server files 215 | *.mdf 216 | *.ldf 217 | 218 | # Business Intelligence projects 219 | *.rdl.data 220 | *.bim.layout 221 | *.bim_*.settings 222 | 223 | # Microsoft Fakes 224 | FakesAssemblies/ 225 | 226 | # GhostDoc plugin setting file 227 | *.GhostDoc.xml 228 | 229 | # Node.js Tools for Visual Studio 230 | .ntvs_analysis.dat 231 | 232 | # Visual Studio 6 build log 233 | *.plg 234 | 235 | # Visual Studio 6 workspace options file 236 | *.opt 237 | 238 | # Visual Studio LightSwitch build output 239 | **/*.HTMLClient/GeneratedArtifacts 240 | **/*.DesktopClient/GeneratedArtifacts 241 | **/*.DesktopClient/ModelManifest.xml 242 | **/*.Server/GeneratedArtifacts 243 | **/*.Server/ModelManifest.xml 244 | _Pvt_Extensions 245 | 246 | # Paket dependency manager 247 | .paket/paket.exe 248 | paket-files/ 249 | 250 | # FAKE - F# Make 251 | .fake/ 252 | 253 | # JetBrains Rider 254 | .idea/ 255 | *.sln.iml 256 | 257 | # CodeRush 258 | .cr/ 259 | 260 | # Python Tools for Visual Studio (PTVS) 261 | __pycache__/ 262 | *.pyc --------------------------------------------------------------------------------