サーチ…


備考

.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アプリケーションの作成

  1. Visual Studioを開きます。
  2. ファイル/新規プロジェクトを選択します。
  3. 左側の[テンプレート]セクションで希望する言語でWebを選択します。
  4. ダイアログ内で優先プロジェクトタイプを選択します。
  5. オプション:ターゲットにする.NET Frameworkを選択します
  6. プロジェクトに名前を付け、プロジェクトのソリューションを作成するかどうかを指定します。
  7. [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を使用します。その他の主要なテンプレートには、 consoleclasslibmvc 、および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などのあらゆるプラットフォームでアプリケーションを開発できます。

インストールとセットアップ

  1. ここからVisual Studioコードをインストールしてください
  2. C#extesnionを追加
  3. dot net core sdkをインストールします。 ここからインストールできます

これですべてのツールを利用できます。アプリケーションを開発する。今、いくつかの足場のオプションが必要です。そのためには、Yeomanの使用を検討する必要があります。 Yeomanをインストールするには

  1. NPMをインストールします。このためには、あなたのマシンにNodeが必要です。 ここからインストールしてください

  2. NPMを使用してYeomanをインストールする

    npm install -g yo

  3. aspnetジェネレータをインストールします。

    npm install -g generator-aspnet

これであなたのマシンにすべての設定ができました。まず、DotNetCoreの基本コマンドを使って新しいプロジェクトを作成してから、Yoを使って新しいプロジェクトを作成しましょう。

コマンドラインを使った新しいプロジェクト

  1. 新しいプロジェクトフォルダを作成する

    mkdir CoreApplication cd CoreApplication

  2. スカフォールドは、デフォルトのコマンドラインオプションを使用して非常に基本的なドットネットプロジェクト

    ドットネット

新しいプロジェクト

  1. パッケージを復元してアプリケーションを実行する

    dotNetはドットネットを復元するここに画像の説明を入力

スカイフォールディングオプションとしてYeomanを使用する

プロジェクトフォルダの作成とYoコマンドの実行

yo aspnet

YeomanはProject Type、Project Nameなどのようないくつかの入力を求めます

ここに画像の説明を入力

ここに画像の説明を入力

次に、dotnet restoreコマンドを実行してパッケージを復元し、アプリケーションを実行します。

VSコードを使用してアプリケーションを開発する

次のようなVisual Studioコードを実行します。 ここに画像の説明を入力

ここでファイルを開き、アプリケーションを実行します。拡張機能であなたのヘルプを検索することもできます。

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]をクリックしてすべての変更を保存します。新しい環境変数が確実にロードされるようにコマンドウィンドウを再度開く必要があります。



Modified text is an extract of the original Stack Overflow Documentation
ライセンスを受けた CC BY-SA 3.0
所属していない Stack Overflow