asp.net-core チュートリアル
asp.net-coreを使い始める
サーチ…
備考
.NET Coreは、MicrosoftとGitHub上の.NETコミュニティによって管理される汎用開発プラットフォームです。これはクロスプラットフォームであり、Windows、macOS、Linuxをサポートし、デバイス、クラウド、組み込み/ IoTシナリオで使用できます。
次の特性は、.NETコアを最もよく定義します。
- 柔軟な導入:アプリに含めることも、サイドバイサイドのユーザー単位またはマシン単位でインストールすることもできます。
- クロスプラットフォーム:Windows、MacOS、Linux上で動作します。他のOSに移植することができます。サポートされているオペレーティングシステム(OS)、CPU、およびアプリケーションのシナリオは、Microsoft、他の企業、および個人によって提供され、時間が経つにつれてますます成長します。
- コマンドラインツール:すべての製品シナリオは、コマンドラインで実行できます。
- 互換性:.NET Coreは、.NET標準ライブラリを介して.NET Framework、Xamarin、Monoと互換性があります。
- オープンソース:.NETコアプラットフォームはMITとApache 2ライセンスを使用したオープンソースです。ドキュメンテーションはCC-BYでライセンスされています。 .NET Coreは.NET Foundationプロジェクトです。
- Microsoftがサポートしています:.NET CoreはMicrosoft、.NET Core Support
バージョン
バージョン | リリースノート | 発売日 |
---|---|---|
RC1 * | 1.0.0-rc1 | 2015-11-18 |
RC2 * | 1.0.0-rc2 | 2016年5月16日 |
1.0.0 | 1.0.0 | 2016年6月27日 |
1.0.1 | 1.0.1 | 2016-09-13 |
1.1 | 1.1 | 2016-11-16 |
インストールとセットアップ
Visual Studioのインストール
Visual Studioがインストールされていない場合は、 ここで無料のVisual Studio Community Editionをダウンロードできます 。インストール済みの場合は、次の手順に進むことができます。
ASP.NET Core MVCアプリケーションの作成
- Visual Studioを開きます。
- ファイル/新規プロジェクトを選択します。
- 左側の[テンプレート]セクションで希望する言語でWebを選択します。
- ダイアログ内で優先プロジェクトタイプを選択します。
- オプション:ターゲットにする.NET Frameworkを選択します
- プロジェクトに名前を付け、プロジェクトのソリューションを作成するかどうかを指定します。
- [OK]をクリックしてプロジェクトを作成します。
プロジェクトに使用するテンプレートを選択する別のダイアログが表示されます。
各説明は自明です。この最初のプロジェクトでは、 Webアプリケーションを選択します 。これには、すべてのデフォルト設定、認証、および既存のコンテンツが含まれます。
これは導入アプリケーションであり、セキュリティや認証を必要としないため、ダイアログボックスの右側で認証オプションを[認証なし]に変更し、 [OK ]をクリックしてプロジェクトを作成できます 。
ソリューションエクスプローラで新しいプロジェクトが表示されます。
F5キーを押してアプリケーションを実行し 、デバッグセッションを開始すると、デフォルトのブラウザでアプリケーションが起動します。
これで、プロジェクトがローカルに起動して実行されていることがわかり、アプリケーションを構築する準備が整いました。
コマンドラインから新しいプロジェクトを作成する
dotnet
コマンドを使用して、コマンドラインから完全に新しいASP.NETコアプロジェクトを作成することは可能です。
dotnet new web
dotnet restore
dotnet run
dotnet new web
scaffolds新しい "空の" Webプロジェクト。 web
パラメータは、 ASP.NET Core Empty
テンプレートを使用するようにdotnet
ツールに指示します。現在インストールされているすべての使用可能なテンプレートを表示するには、 dotnet new -all
を使用します。その他の主要なテンプレートには、 console
、 classlib
、 mvc
、およびxunit
ます。
テンプレートがスキャフォールドされたら、プロジェクトの実行に必要なパッケージを復元し( dotnet restore
)、コンパイルして起動することができます( dotnet run
)。
プロジェクトが実行されると、デフォルトポートで利用可能になります: http:// localhost:5000
ASP.NETコアMVCを備えた最小限のASP.NETコアWeb API
ASP.NET Core 1.0では、MVCとWeb APIフレームワークがASP.NET Core MVCという1つのフレームワークに統合されました。 MVCとWeb APIは多くの機能を共有しているので、これは良いことですが、微妙な違いとコードの重複は常にありました。
しかし、これらの2つをフレームワーク1に統合することで、1つを別のものから区別することが難しくなりました。たとえば、 Microsoft.AspNet.WebApi
はWeb API 5.xxフレームワークを表しており、新しいものではありません。しかし、 Microsoft.AspNetCore.Mvc
(バージョン1.0.0
)をインクルードすると、完全なパッケージを取得できます。これには、MVCフレームワークが提供するすぐに使えるすべての機能が含まれています。剃刀、タグヘルパー、モデルバインディングなど。
Web APIを構築したいだけであれば、この機能はすべて必要ではありません。では、最小限のWeb APIをどのように構築するのですか?答えは、 Microsoft.AspNetCore.Mvc.Core
です。新しい世界では、MVCは複数のパッケージに分割され、このパッケージにはルーティングや認可など、MVCフレームワークのコアコンポーネントだけが含まれています。
この例では、最小限のMVC APIを作成します。 JSONフォーマッタとCORSを含む。空のASP.NET Core 1.0 Webアプリケーションを作成し、これらのパッケージをproject.jsonに追加します。
"Microsoft.AspNetCore.Mvc.Core": "1.0.0",
"Microsoft.AspNetCore.Mvc.Cors": "1.0.0",
"Microsoft.AspNetCore.Mvc.Formatters.Json": "1.0.0"
これで、スタートアップクラスでAddMvcCore()
を使用してMVCを登録できます。
public void ConfigureServices(IServiceCollection services)
{
services.AddMvcCore()
.AddCors()
.AddJsonFormatters();
}
AddMvcCore
は、さらにビルドを可能にするIMvcCoreBuilder
インスタンスを返します。ミドルウェアの設定は、通常と同じです:
public void Configure(IApplicationBuilder app)
{
app.UseCors(policy =>
{
policy.AllowAnyOrigin();
});
app.UseMvc();
}
コントローラ
「古い」Web APIには、独自のコントローラー基本クラスApiController
ます。新しい世界にはそのようなことはなく、デフォルトのController
クラスだけです。残念ながら、これはかなり大きな基本クラスであり、モデルバインド、ビュー、JSON.NETに関連しています。
幸運なことに、新しいフレームワークのコントローラクラスでは、ルーティングメカニズムによって取得されるController
からクラスを派生する必要はありません。 Controller
で名前を追加するだけで十分です。これにより、独自のコントローラベースクラスを構築することができます。これはApiController
と呼ばれていApiController
。
/// <summary>
/// Base class for an API controller.
/// </summary>
[Controller]
public abstract class ApiController
{
[ActionContext]
public ActionContext ActionContext { get; set; }
public HttpContext HttpContext => ActionContext?.HttpContext;
public HttpRequest Request => ActionContext?.HttpContext?.Request;
public HttpResponse Response => ActionContext?.HttpContext?.Response;
public IServiceProvider Resolver => ActionContext?.HttpContext?.RequestServices;
}
[Controller]
属性は、デフォルトのコントローラー検出メカニズムによって、タイプまたは派生タイプがコントローラーと見なされることを示します。 [ActionContext]
属性は、MVCがコントローラを作成するときに現在のActionContext
でプロパティを設定する必要があることを指定します。 ActionContext
は、現在のリクエストに関する情報を提供します。
ASP.NET Core MVCには
ControllerBase
クラスも用意されていControllerBase
クラスはビューをサポートしていないコントローラベースクラスを提供します。それはまだ私たちよりもはるかに大きいです。あなたが便利だと思ったらそれを使用してください。
結論
新しいASP.NET Core MVCフレームワークを使用して最小限のWeb APIを構築できるようになりました。モジュラーパッケージ構造は、必要なパッケージを引き出し、細身の単純なアプリケーションを作成するだけです。
Visual Studioコードを使用してクロスプレートフォームaspnetコアアプリケーションを開発する
AspNetCoreを使用すると、Mac、Linux、Window、Dockerなどのあらゆるプラットフォームでアプリケーションを開発できます。
インストールとセットアップ
- ここからVisual Studioコードをインストールしてください
- C#extesnionを追加
- dot net core sdkをインストールします。 ここからインストールできます
これですべてのツールを利用できます。アプリケーションを開発する。今、いくつかの足場のオプションが必要です。そのためには、Yeomanの使用を検討する必要があります。 Yeomanをインストールするには
NPMを使用してYeomanをインストールする
npm install -g yo
aspnetジェネレータをインストールします。
npm install -g generator-aspnet
これであなたのマシンにすべての設定ができました。まず、DotNetCoreの基本コマンドを使って新しいプロジェクトを作成してから、Yoを使って新しいプロジェクトを作成しましょう。
コマンドラインを使った新しいプロジェクト
新しいプロジェクトフォルダを作成する
mkdir CoreApplication cd CoreApplication
スカフォールドは、デフォルトのコマンドラインオプションを使用して非常に基本的なドットネットプロジェクト
ドットネット
スカイフォールディングオプションとしてYeomanを使用する
プロジェクトフォルダの作成とYoコマンドの実行
yo aspnet
YeomanはProject Type、Project Nameなどのようないくつかの入力を求めます
次に、dotnet restoreコマンドを実行してパッケージを復元し、アプリケーションを実行します。
VSコードを使用してアプリケーションを開発する
ここでファイルを開き、アプリケーションを実行します。拡張機能であなたのヘルプを検索することもできます。
ASP.NETコアでの環境変数の設定[Windows]
ASP.NETコアは、 ASPNETCORE_ENVIRONMENT
環境変数を使用して現在の環境を判断します。デフォルトでは、この値を設定せずにアプリケーションを実行すると、自動的にProduction
環境にデフォルト設定されます。
> dotnet run
Project TestApp (.NETCoreApp,Version=v1.0) was previously compiled. Skipping compilation.
Hosting environment: Production
Content root path: C:\Projects\TestApp
Now listening on: http://localhost:5000
Application started. Press Ctrl+C to shut down.
Windows環境変数の設定
コマンドラインで
Windowsに含まれているsetx.exeコマンドを使用して、コマンドプロンプトから環境変数を簡単に設定できます。あなたは簡単にユーザー変数を設定するためにそれを使うことができます:
>setx ASPNETCORE_ENVIRONMENT "Development"
SUCCESS: Specified value was saved.
現在の開いているウィンドウで環境変数が設定されていないことに注意してください。更新された環境を表示するには、新しいコマンドプロンプトを開く必要があります。管理コマンドプロンプトを開き、/ Mスイッチを追加すると、(ユーザー変数ではなく)システム変数を設定することもできます。
>setx ASPNETCORE_ENVIRONMENT "Development" /M
SUCCESS: Specified value was saved.
PowerShellを使用する代わりに、PowerShellを使用して変数を設定することもできます。 PowerShellでは、通常のユーザー変数とシステム変数だけでなく、 $Env:
コマンドを使用して一時変数を作成することもできます。
$Env:ASPNETCORE_ENVIRONMENT = "Development"
作成された変数は、PowerShellセッションの持続時間だけ持続します。ウィンドウを閉じると、環境はデフォルト値に戻ります。
あるいは、ユーザーまたはシステムの環境変数を直接設定することもできます。このメソッドは現在のセッションの環境変数を変更しないため、新しいPowerShellウィンドウを開いて変更を確認する必要があります。前述のように、システム(マシン)変数を変更するには管理者アクセスが必要です
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "User")
[Environment]::SetEnvironmentVariable("ASPNETCORE_ENVIRONMENT", "Development", "Machine")
コマンドプロンプトのファンではないなら、Windowsのコントロールパネルを使用して 、簡単に、Windowsが起動しますメニューボタン(またはWindowsキーを押してください)!あなたのマウスを使用して、変数を更新することができますを検索environment variables
、および編集環境を選択しますあなたのアカウントの変数:
このオプションを選択すると、システムのプロパティダイアログが開きます
環境変数をクリックして、システム上の現在の環境変数のリストを表示します。
ASPNETCORE_ENVIRONMENT
という変数がないと仮定して、New ...ボタンをクリックし、新しいアカウント環境変数を追加します。 [OK]をクリックしてすべての変更を保存します。新しい環境変数が確実にロードされるようにコマンドウィンドウを再度開く必要があります。