この記事では、主に .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 ツールと
Language コンパイラー (SDK ツールとコンパイラー) つまり、CLI ツールと Roslyn コンパイラーです。これは、.NET Core SDK (.NET Core Development Kit) を通じて入手できます。
④dotnet'app host
は、対応するランタイムを選択して実行し、コンポーネントの読み込み原則を提供し、.NET Core アプリケーションを開始するために使用されます。 SDKも同様の手順で起動します。
ヒント: シム MSCorEE.
dlWindows、macOS、Linux上で実行可能②柔軟な展開メカニズム
1.ポータブルアプリケーション
この展開メカニズムは、ターゲットプラットフォームが.NET Coreを持っている限り、従来の.NET Frameworkと似ています。その上のランタイム。
2.自己完結型アプリケーション(自己ホスト型アプリケーション)
.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!
.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
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平台 } }
ドットネットの公開手順については、 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 サイトの他の関連記事を参照してください。