「マイクロソフト系技術情報 Wiki」は、「Open棟梁Project」,「OSSコンソーシアム .NET開発基盤部会」によって運営されています。
目次 †
概要 †
※ 対象は、ASP.NET Core 2.0。
- 下記と異なり、新規作成したテンプレートに、
UOC(User Own Coding)を移行する形になるため手順は書かない。
- 従って、ココでは、ひたすら、ASP.NET と ASP.NET Coreの差異について書いて行く。
ASP.NET CoreとASP.NET 4.6 †
ASP.NET CoreのフレームワークはMVCとRazor Pagesで、
主流が、MVCなので、殆どの文脈において、ASP.NET Core = ASP.NET MVC Core。
2017年12月 現在、ASP.NET MVC Coreは、まだ安定しているとはいえないが、
ASP.NET MVCの更新が、2015年2月以降されていないので、今後、
メインストリーム、新技術サポートが、ASP.NET MVC Coreに移っていく可能性がある。
機能面 †
- ASP.NET CoreとASP.NET 4.6 は別物
- ASP.NET 4.6:
従来のASP.NETの後継
- ASP.NET Core:
次世代のASP.NETと呼ばれていたもので、.NET Coreランタイム上で動作する。
乗り換えについて検討 †
立ち位置によってかなり変わってくる。
旧資産に縛られている場合 †
旧資産に縛られている場合はなかなか移行できないと思う。
と、個人的には(現段階では、まだ、)結構微妙と考えている。
- マイグレーションも困難である模様。
とは言え、時代に追随するためにはどこかのタイミングで飛び移る必要はある気はする。
しかし、なんとなく、まだ機が熟していないのかな?という感じの情報が散在している。
旧資産から解放された場合 †
旧資産から解放された場合は、思い切ったシフトができると思う。
Windowはエンタープライズでの利用が主であるが、
Web系の仕事にシフトする等、以下の様な条件に合致する場合、
- 昔から使っているC#/VBなどの言語、Visual Studioの開発環境を使用したい。
思い切ったシフトができると思う。
参考 †
フォルダ構成 †
Properties †
launchSettings.json †
起動設定、構成管理ツールには登録されない。
wwwroot †
静的コンテンツを配置する。
依存関係 †
参照設定を行う。
その他フォルダ †
Controllers †
MVCの *.cs or *.vb ファイルが格納される。
Models †
MVCの *.cs or *.vb ファイルが格納される。
Views †
MVCの *.cshtml or *.vbhtml ファイルが格納される。
Pages †
Pagesの *.cshtml or *.vbhtml ファイルが格納される。
その他ファイル †
appsettings.json †
app.configのappSettings SectionをJSON化したもの。
- 環境毎に設定を切り替えることができる。
- appsettings.Production.json
ASPNETCORE_ENVIRONMENT ≠ Development
- appSettings.Development.json
ASPNETCORE_ENVIRONMENT = Development
bundleconfig.json †
・・・
Program.cs †
・・・
Startup.cs †
・・・
パッケージ・マネージャ †
現在は、ASP.NET Coreの既定のパッケージ・マネージャになっている。
その他 †
Browser †
昔は、ASP.NET Coreの既定のパッケージ・マネージャだったもよう。
npm †
- npm はもともと Node.js 上で動作するライブラリを管理するためのもだが、
Node.js スタイルのライブラリでもブラウザで実行可能な形式に変換して使用
できるようになったため、npm さえあれば Bower が無くても困らない状況が生まれた。
- 参考
上の記事はCoreじゃなくてMVC5だったけど、下の記事でCoreでもイケると解る。
参考 †
ステートメント †
Helper †
ScriptTagHelper? †
ライブラリ †
認証 †
その他 †
ASP.NET Core on .NET Core or .NET Framework †
ASP.NET Coreのプロジェクト・テンプレートに、
- ASP.NET Core Web Application (.NET Core)
- ASP.NET Core Web Application (.NET Framework)
があったが(ASP.NET MVC Core のプロジェクト・テンプレート)、
時点から サポートプラットフォームは .NET Core のみに絞られた。
これを使用した場合、OS間の移行(Linux <---> Windows)が可能になる模様。
参考 †
- 例えば、細かい話、ASP.NET IdentityのPasswordHasher?の実装が違う。
既存データでウワモノ以降などでは、更に難易度が上がる気配も。
移行情報 †
.NET API Browser †
https://docs.microsoft.com/en-us/dotnet/api/index
ASP.NET Core API Reference †
https://docs.microsoft.com/en-us/dotnet/api/index?view=aspnetcore-2.0
その他 †
しばやん雑記 †
clock-up-blog †
Tags: :.NET開発, :.NET Core, :ASP.NET, :ASP.NET MVC, :移行