ホームページ > バックエンド開発 > C#.Net チュートリアル > Coreの総合リテラシーステッカー導入ASP手法の詳細説明

Coreの総合リテラシーステッカー導入ASP手法の詳細説明

Y2J
リリース: 2017-05-04 10:55:19
オリジナル
1734 人が閲覧しました

この記事では、主に .NET Core について紹介します。.NET Core は、クロスプラットフォームをサポートするオープンソースのユニバーサル開発フレームワークです。つまり、Windows、macOS、Linux およびその他のシステムでの開発と展開をサポートします。もっと学ぶことができます。

1. はじめに

.NET のリリースから 14 年が経ちました。バージョンの継続的な反復と更新により、Windows プラットフォーム上での .NET のパフォーマンスはますます向上しており、.NET は Windows プラットフォーム上でほぼすべての種類のアプリケーションを完成させることができると言えます。 過去 14 年間、一部の「プライベート」バージョンを除いて、.NET は公式サポートによって Windows プラットフォームの制限を取り除くことができませんでした。ソース」と「クロスプラットフォーム」 これは、すべての .NET 開発者の心の痛みでもあります。最後に、.NET Core が登場しました。これにより、開発者は公式サポートとコミュニティ サポートによって Windows を超えて、

debug

を作成し、macOS および Linux のメインストリーム ディストリビューションに .NET プログラムを展開できるようになります。

2. .NET Core

はじめに

2.1 .NET Core とは

.NET Core は、クロスプラットフォームをサポートするオープンソースのユニバーサル開発フレームワークです。つまり、Windows、macOS、Linux をサポートします。などのシステム開発と展開に使用でき、ハードウェア デバイス、クラウド サービス、組み込み/IoT ソリューションで使用できます。 .NET Core のソース コードは GitHub に配置されており、Microsoft 関係者とコミュニティによって共同サポートされています。

これは、従来の .NET Framework と「サブセットとスーパーセット」の関係にあります。または、単純に .NET Framework のクロスプラットフォーム バージョン (BCL レベルに基づく) と考えることもできます。これは、現在のバージョン (1.0) では、ランタイムやライブラリ (GC、JIT、一部の種類など) を含む、.NET Core のコア コードのほとんどが .NET Framework から継承され、書き直されるためです。

不満: 「C# 経由の CLR」を無駄に読まなくて済んだことについては、Microsoft に感謝するしかありません。

現在の .NET Core 1.0 バージョンは非常に小さなコアであり、API とツールは同じではありません。完全ではありませんが、.Net Core が改善し続けるにつれて、補足的な API やイノベーションも .NET Framework に統合される予定です。言い換えれば、.NET Core Microsoft は、.NET Framework と .NET Core を同時に更新し、富を得るために協力する 2 人の兄弟のようなものです (誰に? もちろん、.NET 開発者です)。ワールドハーモニーと呼ばれるもの、そして .NET Standard 2.0 です

.NET Standard Library と呼ばれる概念について触れなければなりません。 .NET プラットフォーム API 開発の公式サポート標準として、すべての .NET フレームワーク API に下位互換性があることが必要です。たとえば、.NET Framwork 4.6 は .NET Standard Library 1.3 をサポートし、.NET Framwork 4.6.2 Framework は .NET Standard Library 1.5 をサポートし、.NET Core 1.0 Framework は 1.6 Standard をサポートします。

最終的な見通しは以下の通りです:

2.2 .NET Coreの構成

①.NET Runtime


はCoreCLRです。前述したように、CoreCLR と .NET Framework の CLR に違いはありません。プロセス管理、GC、JIT (RyuJIT コンパイラ) も同様ですが、サーバー システムに最適化されています。現在、CLRとCoreCLRも同時にアップデートされていますが、確かなことは、CoreCLRが.NETの未来であり、CLRは互換性の手段として存在することです

②フレームワークライブラリ


、つまりCoreFXです。コレクション クラス、

ファイル システム

処理クラス、XML処理クラス、非同期タスク クラスなどが含まれます。 ③SDK ツールと

Lang

uage コンパイラー (SDK ツールとコンパイラー) つまり、CLI ツールと Roslyn コンパイラーです。これは、.NET Core SDK (.NET Core Development Kit) を通じて入手できます。

④dotnet'app host


は、対応するランタイムを選択して実行し、コンポーネントの読み込み原則を提供し、.NET Core アプリケーションを開始するために使用されます。 SDKも同様の手順で起動します。

ヒント: シム MSCorEE.

dl

l を覚えていますか? -プラットフォーム

Windows、macOS、Linux上で実行可能

②柔軟な展開メカニズム

1.ポータブルアプリケーション

この展開メカニズムは、ターゲットプラットフォームが.NET Coreを持っている限り、従来の.NET Frameworkと似ています。その上のランタイム。


2.自己完結型アプリケーション(自己ホスト型アプリケーション)

名前が示すように、このデプロイメントメカニズムはアプリケーションとランタイムを一緒にパッケージ化するため、ターゲットに.NET Core ランタイムがインストールされていない場合でも正常に使用できます。プラットフォーム

2 番目 この方法も .NET ネイティブとは異なりますが、.NET ネイティブはランタイムとして CoreRT を使用します。 詳細については、 dotnet/corert を参照してください


.NET プログラムのすべての実行スクリプトは、コマンド ライン ツール (cmd、bash) を使用して実行できます。いくつかの一般的な donnet コマンド

command help
dotnet new Generate new Basic .NET プロジェクトのコンテンツ (project.json、Program.cs、NuGet.config を含む)
dotnet list 参照された NuGet パッケージを復元
dotnet build .NET プロジェクトをビルド
dotnet public 配布可能な .NET プロジェクト (関連するランタイムを含む) を生成します
dotnet run .NET プロジェクトをすぐにコンパイルして実行します (exe タイプのプロジェクトに適しています)
dotnet repl インタラクティブなダイアログを起動
dotnetパック プロジェクトの出力をNuGetパッケージにカプセル化します

④互換性

.NET標準ライブラリを介して.NET Framework、Xamarin、Monoと互換性があります

⑤オープンソース

.NET Coreに属します.NET Foundation に準拠しており、Microsoft によって正式にサポートされており、MIT および Apache 2 オープン ソース ライセンスを使用しており、文書契約は CC-BY

2.4 開発言語

.NET Core 1.0 バージョンでサポートされているプログラミング言語 に準拠しています。 C# のみ (F# と VB はまだ実装されていません)。ここでは、オープン ソース言語コンパイラー Roslyn についても説明します。これは、コードを使い慣れた IL 言語にコンパイルし、それをマシンにコンパイルします。使い慣れた AOT または JIT コンパイラー

3. 始めましょう

次のコンテンツは、Windows 10 および CentOS 7.2 でのコマンド ラインの生成と公開のデモを示しています

3.1.1 のインストール.NET Core SDK と .NET Core ランタイム

.NET Core SDK = .NET Core を使用してアプリケーションを開発します

3.1.2 単純な実行結果

cmd を開き、 mkdir と入力します。 project (ディレクトリの作成) 、 cd ..project (ディレクトリに入る)、 dotnet new (新しい初期プロジェクトの作成)、 dotnetrestore (依存関係の復元)、 dotnet run (実行) で最初の Hello World プログラムを実行します

3.2 CentOS 7.2 (ローカル Hyper-V)

3.2.1 インストールと操作

詳細については、www.microsoft.com/net/core#windowsvs2015 を参照してください。 おおよそのコマンドは次のとおりです

sudo yum install libunwind libicu #安装libunwind,libicu包
curl -sSL -o dotnet.tar.gz https://go.microsoft.com/fwlink/?LinkID=809131 #下载dotnet-dev-centos-x64.1.0.0-preview2-003121.tar文件,有时会因为网络问题下载较慢,耐心等待即可,当然也可以手动下载后放到目录下。
sudo mkdir -p /opt/dotnet && sudo tar zxf dotnet.tar.gz -C /opt/dotnet #创建目录并解压已下载文件
sudo ln -s /opt/dotnet/dotnet /usr/local/bin #将目录链接到$PATH下,否则dotnet命令无法识别
mkdir hwapp
cd hwapp
dotnet new #创建默认.NET Core应用
dotnet restore #还原依赖包
dotnet run #运行,结果将显示Hello World!
ログイン後にコピー

。コマンドの 6 行目の後に dotnet --info を使用して、リンクが成功したかどうかを確認します。表示は次のようになります

.NET Command Line Tools (1.0.0-preview2-003121)
Product Information:
 Version:   1.0.0-preview2-003121
 Commit SHA-1 hash: 1e9d529bc5
Runtime Environment:
 OS Name:  centos
 OS Version: 7
 OS Platform: Linux
 RID:   centos.7-x64
ログイン後にコピー

上記の手順は、.NET Core 公式 Web サイトにあります。簡単な操作でアプリケーションが実行されることがわかります。 dotnet new、dotnetrestor、dotnet run コマンドがありますが、これは実際には開発環境でのデバッグと実行に似ており、現時点では Windows 上の新しいアプリケーションを Linux 上のプラットフォーム間で直接実行することはできないため、dotnet public コマンドについて言及する必要があります。もう一度

3.2.2 自己完結型アプリケーションの公開

(1) project.json ファイルの変更

公式ドキュメントの要件に従って、新しい HW コンソール アプリケーション self を作成する手順に従います。次の内容を含む元の project.json ファイル (

delete

"type": "platform"、およびランタイム ノードの追加)

{
 "version": "1.0.0-*",
 "buildOptions": {
 "debugType": "portable",
 "emitEntryPoint": true
 },
 "dependencies": {},
 "frameworks": {
 "netcoreapp1.0": {
  "dependencies": {
  "Microsoft.NETCore.App": {
   "version": "1.0.0"
  }
  },
  "imports": "dnxcore50"
 }
 },
 "runtimes":{
 "win10-x64":{}, #win10平台
 "centos.7-x64":{} #centos7.2平台
 }
}
ログイン後にコピー
(2) 復元操作と公開操作

を実行してから、dotnet list コマンドを実行して復元しますプラットフォーム。この手順には時間がかかります。プラットフォームは 2 つしかありませんが、最初は時間がかかりました。次に、 dotnet public -r centos.7-x64 -c release に進みます。

ドットネットの公開手順については、 dotnet-publish で詳しく説明されています - アプリケーションとそのすべての依存関係をフォルダーにパックして公開の準備をします

(3) Linux プラットフォームで実行した後

上記の操作の後、必要なのは、公開フォルダー (bin/release/netcoreapp1.0/centos7-x64/publish、self.exe を含む) を Linux ルート ディレクトリのプロジェクト (新しい) フォルダーにアップロードし、シェルでコマンドを入力するだけです

実行可能権限を変更すると、「Hello World」を正常に実行できるようになります。これが「自己完結型アプリケーション」の展開方法です

4. まとめ

4.1 終了

この時点で、.NETコア 上記の内容では、.NET Core の構成と特徴を簡単に紹介し、2 つの異なる展開方法を使用して Windows および Linux システム上で例を実行することに成功しました。以前の .NET Framework の確実な展開と比較すると、.NET Core の目新しさは本当に目を輝かせます。次に、.NET Core と

ASP.NET Core の学習も記録していきます。

以上がCoreの総合リテラシーステッカー導入ASP手法の詳細説明の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート