├── Content
├── wwwroot
│ └── .gitkeep
├── Views
│ ├── _ViewStart.cshtml
│ ├── Main
│ │ ├── Error.cshtml
│ │ └── Index.cshtml
│ ├── _ViewImports.cshtml
│ └── Shared
│ │ └── _Layout.cshtml
├── ClientApp
│ ├── babel.config.js
│ ├── public
│ │ ├── favicon.ico
│ │ └── index.html
│ ├── src
│ │ ├── assets
│ │ │ └── logo.png
│ │ ├── main.js
│ │ ├── App.vue
│ │ └── components
│ │ │ └── HelloWorld.vue
│ ├── vue.config.js
│ ├── jsconfig.json
│ └── package.json
├── appsettings.json
├── appsettings.Development.json
├── Controllers
│ └── MainController.cs
├── Program.cs
├── Vue.Simple.Template.sln
├── .template.config
│ └── template.json
├── Vue.Simple.Template.csproj
├── Startup.cs
└── .editorconfig
├── icon.png
├── .github
├── dependabot.yml
├── CONTRIBUTING.md
├── ISSUE_TEMPLATE
│ ├── Support.md
│ ├── Bug_report.md
│ └── Feature_request.md
├── PULL_REQUEST_TEMPLATE.md
├── workflows
│ ├── ci.yml
│ └── prerelease.yml
└── stale.yml
├── appveyor.yml
├── LICENSE
├── Vue.Simple.Project.Template.csproj
├── Readme.md
└── .gitignore
/Content/wwwroot/.gitkeep:
--------------------------------------------------------------------------------
1 |
--------------------------------------------------------------------------------
/Content/Views/_ViewStart.cshtml:
--------------------------------------------------------------------------------
1 | @{
2 | Layout = "_Layout";
3 | }
4 |
--------------------------------------------------------------------------------
/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/HEAD/icon.png
--------------------------------------------------------------------------------
/Content/Views/Main/Error.cshtml:
--------------------------------------------------------------------------------
1 |
2 | This is a custom error page left blank intentionally.
3 |
4 |
--------------------------------------------------------------------------------
/Content/ClientApp/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: [
3 | '@vue/cli-plugin-babel/preset'
4 | ]
5 | }
6 |
--------------------------------------------------------------------------------
/Content/ClientApp/public/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/HEAD/Content/ClientApp/public/favicon.ico
--------------------------------------------------------------------------------
/Content/ClientApp/src/assets/logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/Jaxelr/VueSimpleTemplate/HEAD/Content/ClientApp/src/assets/logo.png
--------------------------------------------------------------------------------
/Content/ClientApp/src/main.js:
--------------------------------------------------------------------------------
1 | import { createApp } from 'vue'
2 | import App from './App.vue'
3 |
4 | createApp(App).mount('#app')
5 |
--------------------------------------------------------------------------------
/Content/Views/_ViewImports.cshtml:
--------------------------------------------------------------------------------
1 | @addTagHelper "*, Microsoft.AspNetCore.Mvc.TagHelpers"
2 | @addTagHelper "*, Microsoft.AspNetCore.SpaServices"
3 |
--------------------------------------------------------------------------------
/Content/Views/Main/Index.cshtml:
--------------------------------------------------------------------------------
1 |
2 | Your web api logic comes from this path.
3 | Check the vue-cli port generated for the ui.
4 |
5 |
--------------------------------------------------------------------------------
/Content/ClientApp/vue.config.js:
--------------------------------------------------------------------------------
1 | const { defineConfig } = require('@vue/cli-service')
2 | module.exports = defineConfig({
3 | transpileDependencies: true
4 | })
5 |
--------------------------------------------------------------------------------
/Content/appsettings.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Warning"
6 | }
7 | },
8 | "ClientAppPort": 8080
9 | }
10 |
--------------------------------------------------------------------------------
/Content/appsettings.Development.json:
--------------------------------------------------------------------------------
1 | {
2 | "Logging": {
3 | "IncludeScopes": false,
4 | "LogLevel": {
5 | "Default": "Debug",
6 | "System": "Information",
7 | "Microsoft": "Information"
8 | }
9 | },
10 | "ClientAppPort": 8080
11 | }
12 |
--------------------------------------------------------------------------------
/Content/Controllers/MainController.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Mvc;
2 |
3 | namespace VueTemplate.Controllers
4 | {
5 | public class MainController : Controller
6 | {
7 | public IActionResult Index() => View();
8 |
9 | public IActionResult Error() => View();
10 | }
11 | }
12 |
--------------------------------------------------------------------------------
/.github/dependabot.yml:
--------------------------------------------------------------------------------
1 | # generated by dependadotnet
2 | version: 2
3 | updates:
4 | - package-ecosystem: "nuget"
5 | directory: "/Content" #Vue.Simple.Template.csproj
6 | schedule:
7 | interval: "weekly"
8 | day: "thursday"
9 | commit-message:
10 | prefix: "deps"
11 | open-pull-requests-limit: 5
12 | labels:
13 | - "dependencies"
14 |
15 |
--------------------------------------------------------------------------------
/Content/ClientApp/jsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "target": "es5",
4 | "module": "esnext",
5 | "baseUrl": "./",
6 | "moduleResolution": "node",
7 | "paths": {
8 | "@/*": [
9 | "src/*"
10 | ]
11 | },
12 | "lib": [
13 | "esnext",
14 | "dom",
15 | "dom.iterable",
16 | "scripthost"
17 | ]
18 | }
19 | }
20 |
--------------------------------------------------------------------------------
/Content/Views/Shared/_Layout.cshtml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | @RenderBody()
9 |
10 |
11 | @RenderSection("scripts", required: false)
12 |
13 |
14 |
--------------------------------------------------------------------------------
/.github/CONTRIBUTING.md:
--------------------------------------------------------------------------------
1 | # How to contribute
2 |
3 | I've tried to keep the requirements to the minimum possible.
4 |
5 | ## Pull requests
6 |
7 | * Please dont use a master branch for PRs.
8 | * Rebase any relevant changes from upstream before asking for PRs.
9 | * If various commits are submitted please try and rebase them on a cohesive structure.
10 |
11 | ## Styles
12 |
13 | Just following the .editorconfig guidelines will suffice for now.
14 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Support.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F4DA Support"
3 | about: Ask a question or request help with the library
4 | title: ''
5 | labels: question
6 | assignees: Jaxelr
7 |
8 | ---
9 |
10 | # Describe the question
11 |
12 |
13 |
14 | ## Steps to reproduce (if applicable)
15 |
16 |
17 |
18 | - Dotnet version: [net5.0, dotnet472]
19 | - Library version: [0.1.0]
20 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Bug_report.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F41E Bug report"
3 | about: Report an issue you're experiencing
4 | title: ''
5 | labels: bug
6 | assignees: Jaxelr
7 |
8 | ---
9 |
10 | # Describe the bug
11 |
12 |
13 |
14 | ## Steps to reproduce
15 |
16 |
17 |
18 | ## Expected behavior
19 |
20 |
21 |
22 | - Dotnet version: [net5.0, dotnet472]
23 | - Library version: [0.1.0]
24 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/Feature_request.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: "\U0001F4A1 Feature request"
3 | about: Suggest a new feature for this project
4 | title: ''
5 | labels: enhancement
6 | assignees: Jaxelr
7 |
8 | ---
9 |
10 | # Describe the feature
11 |
12 |
13 |
14 | ## Is this feature related to a problem, describe
15 |
16 |
17 |
18 | ## Additional context
19 |
20 |
21 |
--------------------------------------------------------------------------------
/Content/Program.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore;
2 | using Microsoft.AspNetCore.Hosting;
3 | using System.IO;
4 |
5 | namespace VueTemplate
6 | {
7 | public static class Program
8 | {
9 | public static void Main(string[] args) => CreateWebHostBuilder(args).Build().Run();
10 |
11 | public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
12 | WebHost.CreateDefaultBuilder(args)
13 | .UseStartup()
14 | .UseContentRoot(Directory.GetCurrentDirectory())
15 | .UseIISIntegration();
16 | }
17 | }
18 |
--------------------------------------------------------------------------------
/Content/ClientApp/src/App.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
16 |
17 |
27 |
--------------------------------------------------------------------------------
/Content/ClientApp/public/index.html:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
7 |
8 | <%= htmlWebpackPlugin.options.title %>
9 |
10 |
11 |
14 |
15 |
16 |
17 |
18 |
--------------------------------------------------------------------------------
/.github/PULL_REQUEST_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | # Description
2 |
3 | ## Type of change
4 |
5 | Please delete options that are not relevant.
6 |
7 | - [ ] Bug fix (non-breaking change which fixes an issue)
8 | - [ ] New feature (non-breaking change which adds functionality)
9 | - [ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
10 | - [ ] This change requires a documentation update
11 |
12 | ## Checklist
13 |
14 | - [ ] My code follows the style guidelines of this project
15 | - [ ] I have performed a self-review of my own code
16 | - [ ] I have commented my code, particularly in hard-to-understand areas
17 | - [ ] I have made corresponding changes to the documentation
18 | - [ ] My changes generate no new warnings
19 |
--------------------------------------------------------------------------------
/.github/workflows/ci.yml:
--------------------------------------------------------------------------------
1 | name: .NET
2 |
3 | on:
4 | push:
5 | branches: [ master ]
6 | pull_request:
7 | branches: [ master ]
8 |
9 | jobs:
10 | build:
11 |
12 | runs-on: ubuntu-latest
13 |
14 | steps:
15 | - uses: actions/checkout@v2
16 | - name: Setup .NET
17 | uses: actions/setup-dotnet@v1
18 | with:
19 | dotnet-version: 6.0.x
20 | - name: Build Reason
21 | run: echo ${{github.ref}} and ${{github.event_name}}
22 | - name: Build Content
23 | run: dotnet build ./Content/Vue.Simple.Template.sln -v quiet
24 | - name: Build Template
25 | run: dotnet build Vue.Simple.Project.Template.csproj -v quiet
26 | env:
27 | DOTNET_CLI_TELEMETRY_OPTOUT: 1
28 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
29 |
--------------------------------------------------------------------------------
/.github/stale.yml:
--------------------------------------------------------------------------------
1 | # Number of days of inactivity before an issue becomes stale
2 | daysUntilStale: 60
3 | # Number of days of inactivity before a stale issue is closed
4 | daysUntilClose: 7
5 | # Issues with these labels will never be considered stale
6 | exemptLabels:
7 | - pinned
8 | - security
9 | # Label to use when marking an issue as stale
10 | staleLabel: wontfix
11 | # Comment to post when marking an issue as stale. Set to `false` to disable
12 | markComment: >
13 | This issue has been automatically marked as stale because it has not had
14 | recent activity. It will be closed if no further activity occurs. Thank you
15 | for your contributions.
16 | # Comment to post when closing a stale issue. Set to `false` to disable
17 | closeComment: >
18 | Closing since no response was posted.
19 |
20 | Feel free to ping owner if there is a need to reopen
--------------------------------------------------------------------------------
/appveyor.yml:
--------------------------------------------------------------------------------
1 | version: '0.7.0.{build}'
2 | image: Visual Studio 2022
3 | environment:
4 | nodejs_version: "12"
5 | branches:
6 | only:
7 | - master
8 | init:
9 | - cmd: git config --global core.autocrlf true
10 | install:
11 | - ps: Install-Product node $env:nodejs_version
12 | before_build:
13 | - cmd: dotnet --version
14 | - cmd: node --version
15 | - cmd: npm --version
16 | build_script:
17 | - cmd: dotnet build ./Content/Vue.Simple.Template.sln -v quiet
18 | after_build:
19 | - cmd: dotnet pack Vue.Simple.Project.Template.csproj -v quiet
20 | artifacts:
21 | - path: '**/*.nupkg'
22 | skip_commits:
23 | files:
24 | - '**/*.md'
25 | deploy:
26 | - provider: NuGet
27 | server: https://www.myget.org/F/vue-simple-template/api/v2/package
28 | on:
29 | branch: master
30 | api_key:
31 | secure: 6xhHSsDvB9arsrSDLuynnbxaVS+BwaoJU96RfQenc5FOnUYvP8SHM6kbvrmpvja2
32 | skip_symbols: false
33 |
--------------------------------------------------------------------------------
/Content/ClientApp/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "vue-simple-template",
3 | "version": "0.7.0",
4 | "private": true,
5 | "scripts": {
6 | "serve": "vue-cli-service serve",
7 | "build": "vue-cli-service build",
8 | "lint": "vue-cli-service lint"
9 | },
10 | "dependencies": {
11 | "core-js": "^3.8.3",
12 | "vue": "^3.2.13"
13 | },
14 | "devDependencies": {
15 | "@babel/core": "^7.12.16",
16 | "@babel/eslint-parser": "^7.12.16",
17 | "@vue/cli-plugin-babel": "~5.0.0",
18 | "@vue/cli-plugin-eslint": "~5.0.0",
19 | "@vue/cli-service": "~5.0.0",
20 | "eslint": "^7.32.0",
21 | "eslint-plugin-vue": "^8.0.3"
22 | },
23 | "eslintConfig": {
24 | "root": true,
25 | "env": {
26 | "node": true
27 | },
28 | "extends": [
29 | "plugin:vue/vue3-essential",
30 | "eslint:recommended"
31 | ],
32 | "parserOptions": {
33 | "parser": "@babel/eslint-parser"
34 | },
35 | "rules": {}
36 | },
37 | "browserslist": [
38 | "> 1%",
39 | "last 2 versions",
40 | "not dead",
41 | "not ie 11"
42 | ]
43 | }
44 |
--------------------------------------------------------------------------------
/LICENSE:
--------------------------------------------------------------------------------
1 | MIT License
2 |
3 | Copyright (c) 2025 Jaxel Rojas
4 |
5 | Permission is hereby granted, free of charge, to any person obtaining a copy
6 | of this software and associated documentation files (the "Software"), to deal
7 | in the Software without restriction, including without limitation the rights
8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9 | copies of the Software, and to permit persons to whom the Software is
10 | furnished to do so, subject to the following conditions:
11 |
12 | The above copyright notice and this permission notice shall be included in all
13 | copies or substantial portions of the Software.
14 |
15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21 | SOFTWARE.
22 |
--------------------------------------------------------------------------------
/.github/workflows/prerelease.yml:
--------------------------------------------------------------------------------
1 | name: Prerelease
2 |
3 | on:
4 | push:
5 | tags:
6 | - '*.*.*'
7 |
8 | jobs:
9 | build:
10 |
11 | runs-on: ubuntu-latest
12 |
13 | steps:
14 | - uses: actions/checkout@v2
15 | - name: Setup .NET
16 | uses: actions/setup-dotnet@v1
17 | with:
18 | dotnet-version: 6.0.x
19 | - name: Build Reason
20 | run: echo ${{github.ref}} and ${{github.event_name}}
21 | - name: Build Content
22 | run: dotnet build ./Content/Vue.Simple.Template.sln -v quiet
23 | - name: Pack
24 | run: dotnet pack Vue.Simple.Project.Template.csproj -v quiet -o $NUPKGS --include-symbols
25 | - name: Publish to Github Package
26 | run: dotnet nuget push "$NUPKGS/*.nupkg" --skip-duplicate -s $GH_FEED -k ${{ secrets.GH_PACKAGES_KEY }}
27 | - name: Publish to Myget Package
28 | run: dotnet nuget push "$NUPKGS/*.nupkg" --skip-duplicate -s $MYGET_FEED -k ${{ secrets.MYGET_PACKAGES_KEY }}
29 | env:
30 | DOTNET_CLI_TELEMETRY_OPTOUT: 1
31 | DOTNET_SKIP_FIRST_TIME_EXPERIENCE: 1
32 | GH_FEED: https://nuget.pkg.github.com/jaxelr/index.json
33 | MYGET_FEED: https://www.myget.org/F/vue-simple-template/api/v2/package
34 | NUPKGS: ./.nupkgs
35 |
--------------------------------------------------------------------------------
/Content/Vue.Simple.Template.sln:
--------------------------------------------------------------------------------
1 |
2 | Microsoft Visual Studio Solution File, Format Version 12.00
3 | # Visual Studio 15
4 | VisualStudioVersion = 15.0.27130.2026
5 | MinimumVisualStudioVersion = 10.0.40219.1
6 | Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Vue.Simple.Template", "Vue.Simple.Template.csproj", "{7C2946B1-91FE-4E0D-BEC7-1E456A600105}"
7 | EndProject
8 | Global
9 | GlobalSection(SolutionConfigurationPlatforms) = preSolution
10 | Debug|Any CPU = Debug|Any CPU
11 | Release|Any CPU = Release|Any CPU
12 | EndGlobalSection
13 | GlobalSection(ProjectConfigurationPlatforms) = postSolution
14 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
15 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Debug|Any CPU.Build.0 = Debug|Any CPU
16 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Release|Any CPU.ActiveCfg = Release|Any CPU
17 | {7C2946B1-91FE-4E0D-BEC7-1E456A600105}.Release|Any CPU.Build.0 = Release|Any CPU
18 | EndGlobalSection
19 | GlobalSection(SolutionProperties) = preSolution
20 | HideSolutionNode = FALSE
21 | EndGlobalSection
22 | GlobalSection(ExtensibilityGlobals) = postSolution
23 | SolutionGuid = {32A123D0-E673-4CD1-84CB-10E43B63FC76}
24 | EndGlobalSection
25 | EndGlobal
26 |
--------------------------------------------------------------------------------
/Content/.template.config/template.json:
--------------------------------------------------------------------------------
1 | {
2 | "$schema": "http://json.schemastore.org/template",
3 | "author": "Jaxel Rojas",
4 | "classifications": [
5 | "Vue.Js",
6 | "SPA"
7 | ],
8 | "name": "Minimal ASP.Net Core with Vue.js",
9 | "identity": "Vue.Simple.Template",
10 | "shortName": "simplevue",
11 | "tags": {
12 | "language": "C#"
13 | },
14 | "sourceName": "Vue.Simple.Template",
15 | "preferNameDirectory": true,
16 | "symbols":{
17 | "skipRestore": {
18 | "type": "parameter",
19 | "datatype": "bool",
20 | "description": "If specified, skips the automatic restore of the project on create.",
21 | "defaultValue": "false"
22 | }
23 | },
24 | "postActions": [
25 | {
26 | "condition": "(!skipRestore)",
27 | "description": "Restore NuGet packages required by this project.",
28 | "manualInstructions": [
29 | { "text": "Run 'dotnet restore'" }
30 | ],
31 | "actionId": "210D431B-A78B-4D2F-B762-4ED3E3EA9025",
32 | "continueOnError": true
33 | }],
34 | "primaryOutputs": [
35 | { "path": "Vue.Simple.Template.csproj" }
36 | ]
37 | }
38 |
--------------------------------------------------------------------------------
/Vue.Simple.Project.Template.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | net6.0
5 | MIT
6 | Template
7 | true
8 | 0.7.0
9 | Vue.Simple.Template
10 | Vue dotnet new templates
11 | Jaxel Rojas
12 | A minimal template for Vue Js using .Net 6 as backend
13 | template;vue;vuejs
14 | https://github.com/Jaxelr/VueSimpleTemplate
15 | https://github.com/Jaxelr/VueSimpleTemplate
16 | true
17 | false
18 | Content
19 | true
20 | NU5128
21 | Target to net 6.0
22 | icon.png
23 | readme.md
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 |
37 |
38 |
39 |
--------------------------------------------------------------------------------
/Content/Vue.Simple.Template.csproj:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 | ClientApp\
5 | net6.0
6 |
7 |
8 |
9 |
10 |
11 |
12 |
13 |
14 |
15 |
16 |
17 |
18 |
19 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
32 |
33 |
34 |
35 |
36 | %(DistFiles.Identity)
37 | PreserveNewest
38 |
39 |
40 |
41 |
42 |
--------------------------------------------------------------------------------
/Content/ClientApp/src/components/HelloWorld.vue:
--------------------------------------------------------------------------------
1 |
2 |
3 |
{{ msg }}
4 |
5 | For a guide and recipes on how to configure / customize this project,
6 | check out the
7 | vue-cli documentation.
8 |
9 |
Installed CLI Plugins
10 |
14 |
Essential Links
15 |
22 |
Ecosystem
23 |
30 |
31 |
32 |
33 |
41 |
42 |
43 |
59 |
--------------------------------------------------------------------------------
/Content/Startup.cs:
--------------------------------------------------------------------------------
1 | using Microsoft.AspNetCore.Builder;
2 | using Microsoft.AspNetCore.Hosting;
3 | using Microsoft.AspNetCore.SpaServices;
4 | using Microsoft.Extensions.Configuration;
5 | using Microsoft.Extensions.DependencyInjection;
6 | using Microsoft.Extensions.Hosting;
7 | using Microsoft.Extensions.Logging;
8 | using VueCliMiddleware;
9 |
10 | namespace VueTemplate
11 | {
12 | public class Startup
13 | {
14 | public Startup(IWebHostEnvironment env)
15 | {
16 | var builder = new ConfigurationBuilder()
17 | .SetBasePath(env.ContentRootPath)
18 | .AddJsonFile("appsettings.json", optional: false, reloadOnChange: true)
19 | .AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true, reloadOnChange: true)
20 | .AddEnvironmentVariables();
21 |
22 | Configuration = builder.Build();
23 | }
24 |
25 | public IConfigurationRoot Configuration { get; }
26 |
27 | public void ConfigureServices(IServiceCollection services)
28 | {
29 | services.AddSpaStaticFiles(configuration => configuration.RootPath = "ClientApp/dist");
30 |
31 | services.AddControllersWithViews();
32 |
33 | services.AddLogging(opt =>
34 | {
35 | opt.AddConsole();
36 | opt.AddDebug();
37 | opt.AddConfiguration(Configuration.GetSection("Logging"));
38 | });
39 | }
40 |
41 | public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
42 | {
43 | bool success = int.TryParse(Configuration.GetSection("ClientAppPort").Value, out int port);
44 |
45 | if (env.IsDevelopment())
46 | {
47 | app.UseDeveloperExceptionPage();
48 | }
49 | else
50 | {
51 | app.UseExceptionHandler("/Main/Error");
52 | app.UseHsts();
53 | }
54 |
55 | app.UseStaticFiles();
56 | app.UseSpaStaticFiles();
57 |
58 | app.UseRouting();
59 |
60 | app.UseAuthorization();
61 |
62 | app.UseEndpoints(endpoints =>
63 | {
64 | endpoints.MapControllerRoute(
65 | name: "default",
66 | pattern: "{controller=Main}/{action=Index}/{id?}");
67 |
68 | if (System.Diagnostics.Debugger.IsAttached)
69 | {
70 | endpoints.MapToVueCliProxy
71 | (
72 | "{*path}",
73 | new SpaOptions { SourcePath = "ClientApp" },
74 | npmScript: "serve",
75 | regex: "Compiled successfully",
76 | port: port,
77 | forceKill: true
78 | );
79 | }
80 | });
81 | }
82 | }
83 | }
84 |
--------------------------------------------------------------------------------
/Readme.md:
--------------------------------------------------------------------------------
1 | # Vue Simple Template [![Mit License][mit-img]][mit]
2 |
3 | This template was created to interact with a vue.js project inside an asp.net core app using the [Spa Services](https://github.com/aspnet/AspNetCore/tree/7269dbb73f4aa0ebf5ebb8bc07a076ee181851be/src/Middleware/SpaServices) library. It aims to be minimalistic with its approach. It also favors Vue's single file component over Typescript, since one of the efforts is to minimize friction when transitioning from a vue-cli project into this template.
4 |
5 | This template targets net 6.0
6 |
7 | ## Builds
8 |
9 | | Appveyor | Branch |
10 | | :---: | :---: |
11 | | [![Build status][build-master-img]][build-master] | master |
12 |
13 | ## Packages
14 |
15 | | NuGet (Stable) | MyGet (Prerelease) | Gh Packages (Mirror) |
16 | | :---: | :---: | :---: |
17 | | [![NuGet][nuget-img]][nuget] | [![MyGet][myget-img]][myget] | [![Github][ghpkg-img]][ghpkg] |
18 |
19 | ## Prerequisites
20 |
21 | You must have net 6.0 installed. It also depends on Node.js (version 14) and npm (version 6) must exist in order to use the Vue Client App. The project will not compile if Node.js or Npm aren't present.
22 |
23 | ## Installation
24 |
25 | To install the template, via command line simply using nuget:
26 |
27 | `dotnet new -i "Vue.Simple.Template::*"`
28 |
29 | where * is the equivalent of the latest version of the template.
30 |
31 | If you would like to tinker with the code locally, you can clone the repository and execute the following command with the dotnet command, using the path of the repo:
32 |
33 | `dotnet new -i "$PATH_OF_NUPKG_FILE"`
34 |
35 | Alternatively, you can use the myget prerelease package, by installing using the following command:
36 |
37 | `dotnet new -i "Vue.Simple.Template::*" --nuget-source https://www.myget.org/F/vue-simple-template/api/v3/index.json`
38 |
39 | Once installed as a template you can properly create your own custom projects using the template using the following command:
40 |
41 | `dotnet new simplevue -o MyAppName`
42 |
43 | It will generate the following folder structure:
44 |
45 | ``` tree
46 | $
47 | .
48 | ├── .editorconfig
49 | ├── appsettings.Development.json
50 | ├── appsettings.json
51 | ├── Program.cs
52 | ├── Startup.cs
53 | ├── {ProjectName}.csproj
54 | ├── {ProjectName}.sln
55 | ├── /ClientApp
56 | │ ├── package.json
57 | │ ├── package-lock.json
58 | │ ├── jsconfig.json
59 | │ ├── babel.config.js
60 | │ ├── vue.config.js
61 | │ ├── /public
62 | │ │ ├── favicon.ico
63 | │ │ └── index.html
64 | │ ├── /src
65 | │ │ ├── main.js
66 | │ │ ├── App.vue
67 | │ │ ├── /assets
68 | │ │ │ └── logo.png
69 | │ │ └── /views
70 | │ │ └── HelloWorld.vue
71 | │ │
72 | │ └── /node_modules
73 | ├── /Controllers
74 | │ └── MainController.cs
75 | └── /Views
76 | ├── _ViewStart.cshtml
77 | ├── _ViewImports.cshtml
78 | ├── /Shared
79 | │ └── _Layout.cshtml
80 | └── /Main
81 | └── Index.cshtml
82 | ```
83 |
84 | Then proceed to:
85 |
86 | ``` bash
87 | cd MyAppName
88 | npm install
89 | ```
90 |
91 | The ClientApp folder includes the default project created using the vue-cli 3.0. You can (optionally) replace the contents of the clientApp folder with your own custom vue project, since this template interacts directly with the vue commands, for building and debugging purposes.
92 |
93 | For more information on how to interact with the new vue-cli 3.0, you can [check this tutorial](https://www.vuemastery.com/courses/real-world-vue-js/vue-cli/)
94 |
95 | Vue-Cli also has the ability to scaffold an app using [vue ui](https://scotch.io/tutorials/creating-vue-apps-with-the-vue-ui-tool) which is an alternative to the command line vue installation.
96 |
97 | ---
98 |
99 | ## Uninstalling
100 |
101 | The syntax for uninstalling from the command line is the following:
102 |
103 | `dotnet new -u "Vue.Simple.Template"`
104 |
105 | Or
106 |
107 | `dotnet new -u "$PATH_OF_NUPKG_FILE"`
108 |
109 | ## Previous Versions
110 |
111 | The table below includes the latest template version alongside the netcore version which it targets
112 |
113 | | net(core) version | template version |
114 | | -- | -- |
115 | | 6.0 | latest |
116 | | 5.0 | 0.6.1 |
117 | | 3.1 | 0.5.0 |
118 | | 3.0 | 0.4.1 |
119 | | 2.2 | 0.3.6 |
120 | | 2.1 | 0.2.3 |
121 |
122 | These are all available on nuget
123 |
124 | ### Further info
125 |
126 | For More information on how to manage dotnet custom templates see the [docs.microsoft documentation](https://docs.microsoft.com/en-us/dotnet/core/tools/custom-templates)
127 |
128 | ## Contributing
129 |
130 | Check the [contribution guide](https://github.com/Jaxelr/VueSimpleTemplate/blob/master/.github/CONTRIBUTING.md)
131 |
132 | [mit-img]: http://img.shields.io/badge/License-MIT-blue.svg
133 | [mit]: https://github.com/Jaxelr/VueSimpleTemplate/blob/master/LICENSE
134 | [build-master-img]: https://github.com/Jaxelr/VueSimpleTemplate/actions/workflows/ci.yml/badge.svg
135 | [build-master]: https://github.com/Jaxelr/VueSimpleTemplate/actions/workflows/ci.yml
136 | [nuget-img]: https://img.shields.io/nuget/v/Vue.Simple.Template.svg
137 | [nuget]: https://www.nuget.org/packages/Vue.Simple.Template/
138 | [myget-img]: https://img.shields.io/myget/vue-simple-template/v/Vue.Simple.Template.svg
139 | [myget]: https://www.myget.org/feed/vue-simple-template/package/nuget/Vue.Simple.Template
140 | [ghpkg-img]: https://img.shields.io/myget/vue-simple-template/v/Vue.Simple.Template.svg
141 | [ghpkg]: https://github.com/Jaxelr/VueSimpleTemplate/packages/1447090
--------------------------------------------------------------------------------
/.gitignore:
--------------------------------------------------------------------------------
1 | ## Ignore Visual Studio temporary files, build results, and
2 | ## files generated by popular Visual Studio add-ons.
3 | ##
4 | ## Get latest from https://github.com/github/gitignore/blob/master/VisualStudio.gitignore
5 |
6 | # User-specific files
7 | *.suo
8 | *.user
9 | *.userosscache
10 | *.sln.docstates
11 |
12 | # User-specific files (MonoDevelop/Xamarin Studio)
13 | *.userprefs
14 |
15 | # Build results
16 | [Dd]ebug/
17 | [Dd]ebugPublic/
18 | [Rr]elease/
19 | [Rr]eleases/
20 | x64/
21 | x86/
22 | bld/
23 | [Bb]in/
24 | [Oo]bj/
25 | [Ll]og/
26 |
27 | # Visual Studio 2015 cache/options directory
28 | .vs/
29 | # Uncomment if you have tasks that create the project's static files in wwwroot
30 | #wwwroot/
31 |
32 | # MSTest test Results
33 | [Tt]est[Rr]esult*/
34 | [Bb]uild[Ll]og.*
35 |
36 | # NUNIT
37 | *.VisualState.xml
38 | TestResult.xml
39 |
40 | # Build Results of an ATL Project
41 | [Dd]ebugPS/
42 | [Rr]eleasePS/
43 | dlldata.c
44 |
45 | # .NET Core
46 | project.lock.json
47 | project.fragment.lock.json
48 | artifacts/
49 | **/Properties/launchSettings.json
50 |
51 | *_i.c
52 | *_p.c
53 | *_i.h
54 | *.ilk
55 | *.meta
56 | *.obj
57 | *.pch
58 | *.pdb
59 | *.pgc
60 | *.pgd
61 | *.rsp
62 | *.sbr
63 | *.tlb
64 | *.tli
65 | *.tlh
66 | *.tmp
67 | *.tmp_proj
68 | *.log
69 | *.vspscc
70 | *.vssscc
71 | .builds
72 | *.pidb
73 | *.svclog
74 | *.scc
75 |
76 | # Chutzpah Test files
77 | _Chutzpah*
78 |
79 | # Visual C++ cache files
80 | ipch/
81 | *.aps
82 | *.ncb
83 | *.opendb
84 | *.opensdf
85 | *.sdf
86 | *.cachefile
87 | *.VC.db
88 | *.VC.VC.opendb
89 |
90 | # Visual Studio profiler
91 | *.psess
92 | *.vsp
93 | *.vspx
94 | *.sap
95 |
96 | # TFS 2012 Local Workspace
97 | $tf/
98 |
99 | # Guidance Automation Toolkit
100 | *.gpState
101 |
102 | # ReSharper is a .NET coding add-in
103 | _ReSharper*/
104 | *.[Rr]e[Ss]harper
105 | *.DotSettings.user
106 |
107 | # JustCode is a .NET coding add-in
108 | .JustCode
109 |
110 | # TeamCity is a build add-in
111 | _TeamCity*
112 |
113 | # DotCover is a Code Coverage Tool
114 | *.dotCover
115 |
116 | # Visual Studio code coverage results
117 | *.coverage
118 | *.coveragexml
119 |
120 | # NCrunch
121 | _NCrunch_*
122 | .*crunch*.local.xml
123 | nCrunchTemp_*
124 |
125 | # MightyMoose
126 | *.mm.*
127 | AutoTest.Net/
128 |
129 | # Web workbench (sass)
130 | .sass-cache/
131 |
132 | # Installshield output folder
133 | [Ee]xpress/
134 |
135 | # DocProject is a documentation generator add-in
136 | DocProject/buildhelp/
137 | DocProject/Help/*.HxT
138 | DocProject/Help/*.HxC
139 | DocProject/Help/*.hhc
140 | DocProject/Help/*.hhk
141 | DocProject/Help/*.hhp
142 | DocProject/Help/Html2
143 | DocProject/Help/html
144 |
145 | # Click-Once directory
146 | publish/
147 |
148 | # Publish Web Output
149 | *.[Pp]ublish.xml
150 | *.azurePubxml
151 | # TODO: Comment the next line if you want to checkin your web deploy settings
152 | # but database connection strings (with potential passwords) will be unencrypted
153 | *.pubxml
154 | *.publishproj
155 |
156 | # Microsoft Azure Web App publish settings. Comment the next line if you want to
157 | # checkin your Azure Web App publish settings, but sensitive information contained
158 | # in these scripts will be unencrypted
159 | PublishScripts/
160 |
161 | # NuGet Packages
162 | # *.nupkg
163 | # The packages folder can be ignored because of Package Restore
164 | **/packages/*
165 | # except build/, which is used as an MSBuild target.
166 | !**/packages/build/
167 | # Uncomment if necessary however generally it will be regenerated when needed
168 | #!**/packages/repositories.config
169 | # NuGet v3's project.json files produces more ignorable files
170 | *.nuget.props
171 | *.nuget.targets
172 |
173 | # Microsoft Azure Build Output
174 | csx/
175 | *.build.csdef
176 |
177 | # Microsoft Azure Emulator
178 | ecf/
179 | rcf/
180 |
181 | # Windows Store app package directories and files
182 | AppPackages/
183 | BundleArtifacts/
184 | Package.StoreAssociation.xml
185 | _pkginfo.txt
186 |
187 | # Visual Studio cache files
188 | # files ending in .cache can be ignored
189 | *.[Cc]ache
190 | # but keep track of directories ending in .cache
191 | !*.[Cc]ache/
192 |
193 | # Others
194 | ClientBin/
195 | ~$*
196 | *~
197 | *.dbmdl
198 | *.dbproj.schemaview
199 | *.jfm
200 | *.pfx
201 | *.publishsettings
202 | orleans.codegen.cs
203 |
204 | # Since there are multiple workflows, uncomment next line to ignore bower_components
205 | # (https://github.com/github/gitignore/pull/1529#issuecomment-104372622)
206 | #bower_components/
207 |
208 | # RIA/Silverlight projects
209 | Generated_Code/
210 |
211 | # Backup & report files from converting an old project file
212 | # to a newer Visual Studio version. Backup files are not needed,
213 | # because we have git ;-)
214 | _UpgradeReport_Files/
215 | Backup*/
216 | UpgradeLog*.XML
217 | UpgradeLog*.htm
218 |
219 | # SQL Server files
220 | *.mdf
221 | *.ldf
222 | *.ndf
223 |
224 | # Business Intelligence projects
225 | *.rdl.data
226 | *.bim.layout
227 | *.bim_*.settings
228 |
229 | # Microsoft Fakes
230 | FakesAssemblies/
231 |
232 | # GhostDoc plugin setting file
233 | *.GhostDoc.xml
234 |
235 | # Node.js Tools for Visual Studio
236 | .ntvs_analysis.dat
237 | node_modules/
238 |
239 | # Typescript v1 declaration files
240 | typings/
241 |
242 | # Visual Studio 6 build log
243 | *.plg
244 |
245 | # Visual Studio 6 workspace options file
246 | *.opt
247 |
248 | # Visual Studio 6 auto-generated workspace file (contains which files were open etc.)
249 | *.vbw
250 |
251 | # Visual Studio LightSwitch build output
252 | **/*.HTMLClient/GeneratedArtifacts
253 | **/*.DesktopClient/GeneratedArtifacts
254 | **/*.DesktopClient/ModelManifest.xml
255 | **/*.Server/GeneratedArtifacts
256 | **/*.Server/ModelManifest.xml
257 | _Pvt_Extensions
258 |
259 | # Paket dependency manager
260 | .paket/paket.exe
261 | paket-files/
262 |
263 | # FAKE - F# Make
264 | .fake/
265 |
266 | # JetBrains Rider
267 | .idea/
268 | *.sln.iml
269 |
270 | # CodeRush
271 | .cr/
272 |
273 | # Python Tools for Visual Studio (PTVS)
274 | __pycache__/
275 | *.pyc
276 |
277 | # Cake - Uncomment if you are using it
278 | # tools/**
279 | # !tools/packages.config
280 |
281 | # Telerik's JustMock configuration file
282 | *.jmconfig
283 |
284 | # BizTalk build output
285 | *.btp.cs
286 | *.btm.cs
287 | *.odx.cs
288 | *.xsd.cs
289 |
290 |
291 | .vscode/
292 | .ionide/
--------------------------------------------------------------------------------
/Content/.editorconfig:
--------------------------------------------------------------------------------
1 | # Root
2 | root = true
3 |
4 | #All Files
5 | [*]
6 | end_of_line = crlf
7 | indent_size = 4
8 | indent_style = space
9 | insert_final_newline = true
10 | trim_trailing_whitespace = true
11 |
12 | # Visual Studio
13 | [*.sln]
14 | indent_style = tab
15 |
16 | # Visual Studio XML Project Files
17 | [*.{csproj,vbproj,vcxproj,vcxproj.filters,proj,projitems,shproj}]
18 | indent_size = 2
19 |
20 | # XML Configuration Files
21 | [*.{xml,config,props,targets,nuspec,resx,ruleset,vsixmanifest,vsct}]
22 | indent_size = 2
23 |
24 | # JSON Files
25 | [*.{json,json5}]
26 | indent_size = 2
27 |
28 | # YAML Files
29 | [*.{yml,yaml}]
30 | indent_size = 2
31 |
32 | # Markdown Files
33 | [*.md]
34 | trim_trailing_whitespace = false
35 |
36 | # Web Files
37 | [*.{htm,html,js,jsx,ts,tsx,css,sass,scss,less,svg,vue}]
38 | indent_style = space
39 | indent_size = 2
40 | trim_trailing_whitespace = true
41 | insert_final_newline = true
42 |
43 | # Batch Files
44 | [*.{cmd,bat}]
45 |
46 | # Bash Files
47 | [*.sh]
48 | end_of_line = lf
49 |
50 | # CSharp code style settings:
51 | [*.cs]
52 | # Indentation
53 | csharp_indent_block_contents = true
54 | csharp_indent_braces = false
55 | csharp_indent_case_contents = true
56 | csharp_indent_switch_labels = true
57 |
58 | # New Lines
59 | csharp_new_line_before_catch = true
60 | csharp_new_line_before_else = true
61 | csharp_new_line_before_finally = true
62 | csharp_new_line_before_members_in_anonymous_types = true
63 | csharp_new_line_before_members_in_object_initializers = true
64 | csharp_new_line_before_open_brace = all
65 | csharp_new_line_between_query_expression_clauses = true
66 | csharp_preserve_single_line_blocks = true
67 | csharp_preserve_single_line_statements = true
68 |
69 | # Space Management
70 | csharp_space_after_cast = true
71 | csharp_space_after_colon_in_inheritance_clause = true
72 | csharp_space_after_comma = true
73 | csharp_space_after_dot = false
74 | csharp_space_after_keywords_in_control_flow_statements = true
75 | csharp_space_after_semicolon_in_for_statement = true
76 | csharp_space_around_binary_operators = before_and_after
77 | csharp_space_around_declaration_statements = do_not_ignore
78 | csharp_space_before_colon_in_inheritance_clause = true
79 | csharp_space_before_comma = false
80 | csharp_space_before_dot = false
81 | csharp_space_before_open_square_brackets = false
82 | csharp_space_before_semicolon_in_for_statement = false
83 | csharp_space_between_empty_square_brackets = false
84 | csharp_space_between_method_call_empty_parameter_list_parentheses = false
85 | csharp_space_between_method_call_name_and_opening_parenthesis = false
86 | csharp_space_between_method_call_parameter_list_parentheses false
87 | csharp_space_between_method_declaration_empty_parameter_list_parentheses = false
88 | csharp_space_between_method_declaration_name_and_open_parenthesis = false
89 | csharp_space_between_method_declaration_parameter_list_parentheses = false
90 | csharp_space_between_square_brackets = false
91 |
92 | # C# Language Style
93 | csharp_style_conditional_delegate_call = true:suggestion
94 | csharp_style_expression_bodied_accessors = true:suggestion
95 | csharp_style_expression_bodied_indexers = true:suggestion
96 | csharp_style_expression_bodied_methods = true:suggestion
97 | csharp_style_expression_bodied_operators = true:suggestion
98 | csharp_style_expression_bodied_properties = true:suggestion
99 | csharp_style_inlined_variable_declaration = true:suggestion
100 | csharp_style_pattern_matching_over_as_with_null_check = true:suggestion
101 | csharp_style_pattern_matching_over_is_with_cast_check = true:suggestion
102 | csharp_style_throw_expression = true:suggestion
103 | csharp_style_var_for_built_in_types = false:suggestion
104 | csharp_style_var_when_type_is_apparent = true:suggestion
105 |
106 | # Organize usings
107 | dotnet_sort_system_directives_first = true
108 |
109 | # Dotnet Style
110 | dotnet_style_coalesce_expression = true:suggestion
111 | dotnet_style_collection_initializer = true:suggestion
112 | dotnet_style_explicit_tuple_names = true:suggestion
113 | dotnet_style_null_propagation = true:suggestion
114 | dotnet_style_object_initializer = true:suggestion
115 | dotnet_style_predefined_type_for_locals_parameters_members = true:suggestion
116 | dotnet_style_predefined_type_for_member_access = true:suggestion
117 | dotnet_style_qualification_for_event = false:suggestion
118 | dotnet_style_qualification_for_field = false:suggestion
119 | dotnet_style_qualification_for_method = false:suggestion
120 | dotnet_style_qualification_for_property = false:suggestion
121 |
122 | # .NET Naming conventions
123 |
124 | [*.{cs,csx,cake,vb}]
125 | # Naming Symbols
126 | dotnet_naming_symbols.constant_fields.applicable_kinds = field
127 | dotnet_naming_symbols.constant_fields.required_modifiers = const
128 | dotnet_naming_symbols.non_private_readonly_fields.applicable_accessibilities = public, internal, protected
129 | dotnet_naming_symbols.non_private_readonly_fields.applicable_kinds = field
130 | dotnet_naming_symbols.non_private_readonly_fields.required_modifiers = readonly
131 | dotnet_naming_symbols.static_readonly_fields.applicable_kinds = field
132 | dotnet_naming_symbols.static_readonly_fields.required_modifiers = static, readonly
133 | dotnet_naming_symbols.private_readonly_fields.applicable_accessibilities = private
134 | dotnet_naming_symbols.private_readonly_fields.applicable_kinds = field
135 | dotnet_naming_symbols.private_readonly_fields.required_modifiers = readonly
136 | dotnet_naming_symbols.public_internal_fields.applicable_accessibilities = public, internal
137 | dotnet_naming_symbols.public_internal_fields.applicable_kinds = field
138 | dotnet_naming_symbols.private_protected_fields.applicable_accessibilities = private, protected
139 | dotnet_naming_symbols.private_protected_fields.applicable_kinds = field
140 | dotnet_naming_symbols.public_symbols.applicable_accessibilities = public, internal, protected, protected_internal
141 | dotnet_naming_symbols.public_symbols.applicable_kinds = method, property, event, delegate
142 | dotnet_naming_symbols.parameters.applicable_kinds = parameter
143 | dotnet_naming_symbols.non_interface_types.applicable_kinds = class, struct, enum, delegate
144 | dotnet_naming_symbols.interface_types.applicable_kinds = interface
145 |
146 | # Naming Styles
147 | dotnet_naming_style.camel_case.capitalization = camel_case
148 | dotnet_naming_style.pascal_case.capitalization = pascal_case
149 | dotnet_naming_style.first_upper.capitalization = first_word_upper
150 | dotnet_naming_style.prefix_interface_interface_with_i.capitalization = pascal_case
151 | dotnet_naming_style.prefix_interface_interface_with_i.required_prefix = I
152 |
153 | # Naming Rules
154 | dotnet_naming_rule.constant_fields_must_be_pascal_case.severity = warning
155 | dotnet_naming_rule.constant_fields_must_be_pascal_case.symbols = constant_fields
156 | dotnet_naming_rule.constant_fields_must_be_pascal_case.style = pascal_case
157 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.severity = warning
158 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.symbols = static_readonly_fields
159 | dotnet_naming_rule.static_readonly_fields_must_be_pascal_case.style = pascal_case
160 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.severity = warning
161 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.symbols = private_readonly_fields
162 | dotnet_naming_rule.private_readonly_fields_must_be_camel_case.style = camel_case
163 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.severity = warning
164 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.symbols = public_internal_fields
165 | dotnet_naming_rule.public_internal_fields_must_be_pascal_case.style = pascal_case
166 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.severity = warning
167 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.symbols = private_protected_fields
168 | dotnet_naming_rule.private_protected_fields_must_be_camel_case.style = camel_case
169 | dotnet_naming_rule.public_members_must_be_capitalized.severity = warning
170 | dotnet_naming_rule.public_members_must_be_capitalized.symbols = public_symbols
171 | dotnet_naming_rule.public_members_must_be_capitalized.style = first_upper
172 | dotnet_naming_rule.parameters_must_be_camel_case.severity = warning
173 | dotnet_naming_rule.parameters_must_be_camel_case.symbols = parameters
174 | dotnet_naming_rule.parameters_must_be_camel_case.style = camel_case
175 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.severity = warning
176 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.symbols = non_interface_types
177 | dotnet_naming_rule.non_interface_types_must_be_pascal_case.style = pascal_case
178 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.severity = warning
179 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.symbols = interface_types
180 | dotnet_naming_rule.interface_types_must_be_prefixed_with_i.style = prefix_interface_interface_with_i
181 |
--------------------------------------------------------------------------------