Closed3
.NETの使い方メモ
概要
.NETのフレームワークの使い方等をメモしておく。
カスタムテンプレートを作成する(プロジェクト)
流れ
- ディレクトリを用意する
-
.template.config
のディレクトリを用意する -
template.json
を用意/記述 - 諸々配置
- テンプレートのビルド
- カスタムテンプレートのインストール
ディレクトリを用意する
$ mkdir Template1
$ cd Template1
.template.config
を用意する
$ mkdir .template.config
$ cd .template.config
template.json
を用意/記述
{
"$schema": "http://json.schemastore.org/template",
"author": "[作成者]",
"classifications": [ "Common", "Console" ],
"identity": "[適当な名称]",
"name": "[テンプレート名]",
"shortName": "[テンプレート名(省略形)]"
}
shortName:
で指定したものがコマンド上で呼び出す際の名称になる。
諸々配置(例)
作成したTemplate1
ディレクトリ配下にプロジェクトに配置したいものを配置していく。
$ cd ..
ここではconsole
テンプレートからProngram.cs
の内容(.NET 6.0)を変更したものをカスタムする。
$ dotnet new console
※ 先にプロジェクトを作成してから、template.json
等を作った方がいいかもしれない。
template.json
{
"$schema": "http://json.schemastore.org/template",
"author": "Minamin",
"classifications": [ "Common", "Console" ],
"identity": "Minamin.Template1",
"name": "Template1",
"shortName": "template1"
}
Program.cs
(変更前)
// See https://aka.ms/new-console-template for more information
Console.WriteLine("Hello, World!");
Program.cs
(変更後)
using System;
namespace MyApp // Note: actual namespace depends on the project name.
{
internal class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
最後にMemo.txt
も追加してみる。
Memo.txt
Template1
Template1
で配置したファイル
└───Template1
│ Program.cs
│ Memo.txt
│ Template1.csproj
│
└───.template.config
template.json
└───obj
...
テンプレートのビルド
$ pwd
~~~/Template1
$ dotnet run
Hello World!
作成したテンプレートのインストール
作成したTemplate1
ディレクトリ内でコマンドを実行する
$ pwd
~~~/Template1
$ dotnet new --install
確認
$ dotnet new --list
これらのテンプレートは、入力: と一致しました
テンプレート名 短い名前 言語 タグ
-------------------------------------------- -------------- ---------- --------------------------
ASP.NET Core Empty web [C#],F# Web/Empty
ASP.NET Core gRPC Service grpc [C#] Web/gRPC
ASP.NET Core Web API webapi [C#],F# Web/WebAPI
ASP.NET Core Web App webapp,razor [C#] Web/MVC/Razor Pages
ASP.NET Core Web App (Model-View-Controller) mvc [C#],F# Web/MVC
ASP.NET Core with Angular angular [C#] Web/MVC/SPA
ASP.NET Core with React.js react [C#] Web/MVC/SPA
Blazor Server App blazorserver [C#] Web/Blazor
Blazor WebAssembly App blazorwasm [C#] Web/Blazor/WebAssembly/PWA
dotnet gitignore ファイル gitignore Config
dotnet ローカル ツール マニフェスト ファイル tool-manifest Config
EditorConfig ファイル editorconfig Config
global.json ファイル globaljson Config
MSTest Test Project mstest [C#],F#,VB Test/MSTest
MVC ViewImports viewimports [C#] Web/ASP.NET
MVC ViewStart viewstart [C#] Web/ASP.NET
NuGet Config nugetconfig Config
NUnit 3 Test Item nunit-test [C#],F#,VB Test/NUnit
NUnit 3 Test Project nunit [C#],F#,VB Test/NUnit
Protocol Buffer File proto Web/gRPC
Razor Class Library razorclasslib [C#] Web/Razor/Library
Razor Component razorcomponent [C#] Web/ASP.NET
Razor Page page [C#] Web/ASP.NET
Template1 template1 Common/Console
Web 構成 webconfig Config
Worker Service worker [C#],F# Common/Worker/Web
xUnit Test Project xunit [C#],F#,VB Test/xUnit
クラス ライブラリ classlib [C#],F#,VB Common/Library
コンソール アプリ console [C#],F#,VB Common/Console
ソリューション ファイル sln,solution Solution
Template1
のテンプレートが追加されている。
テンプレートを使ってみる
$ dotnet new template1
インストールしたカスタムテンプレートをアンインストールする
$ dotnet new --uninstall [カスタムテンプレートのパス]
このスクラップは2022/10/14にクローズされました