Dotnet-core-msbuild-and-project-json

提供:Dev Guides
移動先:案内検索

.NET Core-MSBuildおよびproject.json

NET Coreは、project.jsonを削除し、MSBuildおよび* .csprojに戻ることを決定しました。 これは、リリースされたばかりの.Net Core 2.0 preview1ツールで既に発生していることです。 project.jsonは新鮮な空気の息吹だったので、これはかなり残念です。 ただし、理解可能であり、多くの利点もあります。.

私たちは今、変更がもたらす利点を議論しましょう-

  • 既存のVisual Studioソリューションから.NET Coreへの移行が簡単になります。
  • これは大きな変化であり、MSBuildに基づいたCI/RMへの既存の投資を活用することもできます。
  • MSBuildでのビルド中に、インクリメンタルコンパイル、ビルド時の依存関係の解決、構成管理などを考えることができます。
  • dotnet cliを時間通りに出荷するには、ASP.NET Coreだけでなく、コンソールアプリ、UWPアプリなども含まれるため、多くの作業が必要です。

MSBuildおよび* .csprojの変更点は次のとおりです-

  • Project.jsonファイル(* .xproj)はMSBuild(* .csproj)に置き換えられます。
  • project.jsonの機能は、*。csprojに再びマージされ始めます。
  • パッケージリストについて何をするのかはまだ明確ではありませんが、 nuget.json の下にjsonのままにしておくか、**。csproj *にマージするかについて言及しました。
  • おそらく、その移行はスムーズであり、Visual Studioを使用している場合は潜在的に自動でなければなりません。

MSBuildの利点

  • MSBuildはオープンソースであり、GitHubで利用でき、完全にクロスプラットフォームになる予定です。
  • MSBuildは、**。csproj *の構造を劇的に単純化し、トリミングします。
  • マイクロソフトはまた、Visual Studioを必要とせずに多くのシナリオを可能にする新しいプロジェクトシステムを導入しています。詳細は、このURL [[1]]
  • 目標は、MSBuildセットアップを使用しても、ビルドおよびプロジェクトの操作がVisual Studio IDEの外部と同様にシームレスになることです。

MSBuild vs project.json

次のコマンドを実行して、.NET Core preview2ツールを使用して新しいコンソールプロジェクトを作成します。

dotnet new -t console

このプロジェクト内で作成されたすべてのファイルを表示するには、 dir コマンドを実行します。

実行ディレクトリ

*Program.cs* および *project.json* ファイルの2つのファイルが作成されていることがわかります。

次のコマンドを実行して、.NET Core 2 preview1ツールを使用してコンソールアプリを作成します。

dotnet new console

このプロジェクト内で作成されたすべてのファイルを表示するには、 dir コマンドを実行します。 project.jsonファイルではなく、 Program.cs、NuGet.config 、および MSBuild.csproj の3つのファイルが作成されていることがわかります。

コンソール

*project.json* ファイルと *MSBuild.csproj* ファイルを並べて比較してみましょう。

比較

左側にはjson形式のファイルがあり、右側にはXML形式のファイルがあります。 project.jsonファイルの依存関係セクションに netcoreapp1.0 があり、MSBuild.csprojファイルに netcoreapp2.0 があることがわかります。