「[[マイクロソフト系技術情報 Wiki>http://techinfoofmicrosofttech.osscons.jp/]]」は、「[[Open棟梁Project>https://github.com/OpenTouryoProject/]]」,「[[OSSコンソーシアム .NET開発基盤部会>https://www.osscons.jp/dotNetDevelopmentInfrastructure/]]」によって運営されています。

-[[戻る>.NETのクロスプラットフォーム対応]]

* 目次 [#v1f3462c]
#contents

*概要 [#tb8ccca0]
-もともと、オープンソース化された .NET Framework のサブセットだった。

-しかし、「.NET Core の普及に伴い、.NET Frameworkから.NET Coreへ移行。」とはならなかったため、
--[[.NET Standard]] の範囲を広げ、従来の .NET Framework の API をより多くサポート。
--既存の .NET Framework 向けのライブラリを .NET Core(など)でそのまま動作できるようにする。

>という対策が採られた。

-Target Platform Moniker (TPM) : netcoreapp 1.0 ~ 2.0の実装になる。
--ターゲット フレームワーク | Microsoft Docs~
https://docs.microsoft.com/ja-jp/dotnet/standard/frameworks

-Windows・Linux・macOSをサポートするが、其々ランタイムは別物になる。

**1.x [#gc46e44c]
***1.0 [#ka272f59]
-2016年6月27日に最初の正式版である.NET Core 1.0が公開
--ランタイム(=実行環境)は正式版
--ビルドツール(=開発ツール)まわりは商用環境での利用可能なPreview版相当のリリース

-2017年3月7日の.NET Core Tools 1.0のリリース
--ビルドツール(=開発ツール)まわりも正式版をリリース

***1.1 [#iecfdab9]

**2.x [#r6f2bd89]

***2.0 [#m30ee4c3]
2017年8月17日にリリースされたもよう。

-.NET Core 2.0 と .NET Standard 2.0 がリリースされたよ: C# プログラミング 再入門~
http://dotnetcsharptips.seesaa.net/article/452777200.html

-Announcing .NET Standard 2.0 | .NET Blog~
https://blogs.msdn.microsoft.com/dotnet/2017/08/14/announcing-net-standard-2-0/

-ランタイムおよびフレームワークの性能が向上
-6つのプラットフォームを新たにサポート
--Debian Stretch
--SUSE Linux Enterprise Server 12 SP2
--macOS High Sierra
--...

***2.1 [#wb68896e]
-.NET Core 2.1のロードマップが公開されたようです - つばろぐ~
http://tsubalog.hatenablog.com/entry/net-core-2-1-roadmap

*開発 / デバッグ / デプロイ [#q6593bd5]
*開発 / デバッグ / ビルド / デプロイ [#q6593bd5]

**開発 [#hbe019f5]
-[[開発環境を構築し>.NET Standard#z1acf213]]、~
-プロジェクト・テンプレートを選択、
-ビルド・[[デバッグ>#p2ed0b16]]実行するだけ。

-[[Linuxへデプロイ>#a1fdcaf9]]する前に[[WSLで開発>Windows Subsystem for Linux#w85d0688]]してみる事も可能。

**デバッグ [#p2ed0b16]
プラットフォームに合わせてビルドされていないものは~

-Windows上で以下のようにデバッグ実行される(F5実行)。
 C:\Users\xxxx>"C:\Program Files\dotnet\dotnet.exe" "...\Visual Studio 2017\Projects\ConsoleApp1\ConsoleApp1\bin\Debug\netcoreapp2.0\ConsoleApp1.dll"
 Hello World!

-[[WindowsのWSL>Windows Subsystem for Linux#w85d0688]]上で以下のようにデバッグ実行される(F5実行)。
 ・・・

**ビルド [#g36ab214]
-dotnet msbuild コマンド - .NET Core CLI | Microsoft Docs~
https://docs.microsoft.com/ja-jp/dotnet/core/tools/dotnet-msbuild

**[[デプロイ>.NET Coreのデプロイ]] [#a1fdcaf9]
プラットフォームに合わせてビルド・配置する方法。

*移行 [#d18846cb]
**[[.NET Coreへの移行]] [#zee0a5f0]

**[[ASP.NET Coreへの移行]] [#bc580ed8]

*過去の情報 [#v10876f0]
**DNX [#a716c135]
DNX : .NET Execution Environment

-.NETアプリをクロスプラットフォームで実行するために必要な要素をまとめた環境
-前の呼称はKRE(K Runtime Environment)、XRE(Cross-platform Runtime Environment)

-現在は、廃止されている。
--DNX から .NET Core CLI への移行~
https://docs.microsoft.com/ja-jp/dotnet/articles/core/migration/from-dnx

***特徴 [#f7499341]
-サイドバイサイド実行
--.NET Framework(Full CLR)
--.NET Core(Core CLR)+CoreFXクラスライブラリ
--mono

-OSの種類に関係なく、アプリを実行可能
--Windows
--OS X(Mac)
--Linux

-パッケージ管理(依存関係の管理)による高いモジュール性(NuGet)
-ソースコードから実行可能(Roslyn)

***コマンド [#ee1f3162]
-dnvm(.NET Version Manager)コマンドにより現在の環境で使用するDNXを切り替える。
-dnuコマンド: NuGetクライアント。
-dnxコマンド: 現在のDNXを使用して、アプリを実行する。

***project.json [#w0759032]
-NuGetパッケージとバージョンを示すJSONファイル、~
IntelliSenseでNuGetパッケージを検索して追加できる。

-現在は、廃止されている。

--.NET Core は project.json の廃止を予定している~
https://www.infoq.com/jp/news/2016/08/project-json

-上記の[[DNX>#a716c135]]でサポートされていた形式なので、~
[[CoreFx>#gd2a8024]]に移行する場合は、*.csprojに変換する必要がある。

--.NET Core の csproj 形式への移行~
https://docs.microsoft.com/ja-jp/dotnet/core/migration/
--project.json と csproj の比較 - .NET Core~
https://docs.microsoft.com/ja-jp/dotnet/core/tools/project-json-to-csproj

**紆余曲折 [#ofd214a8]
[[こちら>#tb8ccca0]]に至るまでの紆余曲折(Project K / KRE → XRE → DNX → [[.NET Core CLI>#gd2a8024]])。

-特集:ASP.NET 5を探る:~
「最新.NET技術がよく分からない」と感じる人のための用語整理 (1/3) - @IT~
http://www.atmarkit.co.jp/ait/articles/1505/19/news016.html

-.NET Core と DNX は本当に未来なのか~
https://www.slideshare.net/shibayan/net-core-dnx

*参考 [#g5ab1d91]

**外部 [#oed799bb]
-さいきんの.NETのこととかNuGetとかCoreとかよく分からないよねーって話 - Qiita~
http://qiita.com/acple@github/items/e80bef939583fc2b0e5e

***infoq.com [#u53d3ac5]
-ASP.NET Coreが.NET Frameworkサポートを終了~
https://www.infoq.com/jp/news/2017/06/ASPNET-Core-2

-.NET Coreと.NET Standard: 違いは何か?~
https://www.infoq.com/jp/news/2017/10/dotnet-core-standard-difference

***microsoft.com [#va4a3c25]
-Download .NET Core for Linux~
https://www.microsoft.com/net/download/linux

----
Tags: [[:.NET開発]], [[:.NET Core]], [[:.NET Standard]]


トップ   新規 一覧 単語検索 最終更新   ヘルプ   最終更新のRSS