[ASP.NETコア3の枠組みシークレット]クロスプラットフォーム開発の経験:Windowsの[パートI]

Microsoftの.NET新しい千年紀における戦略、およびは、(後には、Visual Studio.NET 2002のVisual Studioを改称)2年間での.NET Frameworkの最初のバージョンとIDEを立ち上げ、あなたはシニア.NETプログラマであれば私は、.NETアプリケーションを開発する伝統的な方法は深くあなたの心の中に刻印されていると信じています。.NETのコアは、新開発の経験をもたらしますが、違いがあるため、従来の.NET Frameworkアプリケーションよりも単純な.NETコア開発における多くの点で、あなたは.NETのコアのしきい値の世界に迅速になる方法を開発するのに十分ではありません。.NETのコアリーダーと接触するまだ多くを解消するために、我々は、Windows上で新しい.NETのコアの開発経験を感じるようにいくつかの簡単なHello Worldアプリケーションを聞かせて、未知の世界への恐怖。

まず、開発環境をインストールします

.NETのコアの公式サイトでは、さまざまなプラットフォームでの開発環境をインストールする方法を説明します。全体的に、我々が開発した.NETのコア・アプリケーションは、異なるプラットフォーム上でSDKとIDEをインストールする必要があります。正常にインストールするSDKの後、我々は自動的にローカルに.NETのコアランタイム(CoreCLR)、基本クラスライブラリとそれに対応する開発ツールを持つことになります。

dotnet.exeは、私たちは、多くの場合、それを使用します.NETのコア・アプリケーションの開発と展開を行ったときに、.NETのコアSDKのための重要なコマンドラインツールは、私たちを提供しています。dotnet.exeはしないようにするために「問題を複雑に、」我々は、彼らが体系的に紹介することはありません、それは以降の章では、関連する注文になれば、我々は彼ら絞っ導入作ってあげる、多くの有用なコマンドを提供します。.NETのコアSDKのインストールが完了したら、我々は正しくインストールされたことを確認するためにDOTNET SDKのコマンドを実行することができます。以下に示すように、我々が行っ--info DOTNETコマンドビューの基本情報.NETのコアSDKは現在インストールされている、SDKのバージョンを備えた情報表示、実行時間とに基づいて、すべてのマシンの実行時にバージョン。

画像

第二に、IDEを選択

我々は最初のアーティファクト宇宙開発しているので、.NET開発者として、この点では良いIDEから自然不可分の効率的な活用は、幸せであるVisual StudioのをWindowsはまだ私達の主要な開発環境である場合はVisual Studioのコードは、良いIDEだろうが、私は個人的にはVisual Studioを使用をお勧めします。私は、テキストのこの行は、Visual Studioの2019年の最新バージョンをノックする場合。ちなみに、Visual StudioはMac版を提供してきました。

Visual Studioのコードが完全に自由であり、IDEの完全なプラットフォームサポート(Windows版、MacおよびLinux)を提供し、我々はその公式サイト(https://code.visualstudio.com/)に直接ダウンロードすることができます。Visual Studioの2019年にはプロ(プロフェッショナル)、コミュニティ版(コミュニティ)を提供し、コミュニティ版、プロフェッショナル版とエンタープライズ版がためにお金を払う必要があり自由であるエンタープライズ・エディション(エンタープライズ)、。Visual Studioの公式ウェブサイトのアドレスはhttps://www.visualstudio.com/です。

Visual StudioとVisual Studioのコードに加えて、我々はまた、ライダー.NET Coreアプリケーションと呼ばれるソフトウェアを開発するためのIDEを使用することができます。ライダーは、我々はASP.NET、.NETのコア、Xmarinとユニティアプリケーションを開発するために使用することができ、特定の.NET-IDEの有名な会社JetBrainsの開発です。そして、Visual Studioのコードは、のように、ライダーは、我々は、Windows、マックスOS X、およびLinuxディストリビューションの様々なデスクトップバージョンでそれを使用することができ、また、クロスプラットフォームIDEです。しかし、これは、それがで友達に関心のある、無料のIDEではありません公式サイト 30日間の試用版が含まれていました。

第三に、プロジェクトテンプレート

DOTNETの.exeが「足場(足場)」新しいコマンドに基づいて、初期アプリケーションの作成を提供します。あなたは.NETのコアアプリケーションのいくつかのタイプを開発する必要がある場合は、我々は一般的に私たちは、最初のアプリケーション構造を作成助けたコードの最初の行から書き込みませんが、このコマンドを使用します。開発プロセスでは、さらに、(プロファイルの例については、様々なタイプ、MVCのビューファイルなど)ファイルのいくつかのタイプを追加するために必要であれば、私たちが完了するには、このコマンドを使用することができ、ファイルが持つこのように追加されます初期コンテンツは、事前定義されました。インストール時に、.NETのコアSDKは、私たちのために事前に定義されたテンプレートの足場のセットを提供し、私たちは「次の図に示す方法でコマンドラインを実行することができますDOTNET新しい新しい--list足場テンプレートリストは現在インストールされて」。

画像

上图列出的就是NET Core SDK安装后提供的预定义的脚手架模板,这些模板大致分为Project Template和Item Template两类,前者为我们创建一个初始项目,后者则在一个现有项目中针对某种项目元素添加一个或者多个对应的文件。细心的读者可以从图2中看到dotnet new命令具有一个--type参数,该参数具有三个预定义的选项(project、item和other),其中前两个分别对应着Project和Item这两种模板类型。

如果这些预定义的脚手架模板不能满足我们的需求,我们还可以创建自定义的Project或者Item模板,至于自定义模板该如何定义,有兴趣的读者朋友可以参考.NET Core官方文档。自定义模板最终会封装成一个NuGet包,我们可以通过执行dotnet new -i或者dotnet new --install命令对其进行安装。除此之外,对于已经安装的模板,我们可以通过执行dotnet new -u或者dotnet new --uninstall命令将其卸载。

四、创建一个控制台程序

接下来我们利用dotnet new命令(dotnet new console -n helloworld)按照如下图所示的方式创建一个名为“helloworld”的控制台程序。和传统的.NET Framework应用一样,一个针对C#的.NET Core项目依然由一个对应的.csproj文件来定义,图3所示的helloworld.csproj就是这么一个文件。

画像

对于传统的.NET Framework应用来说,即使是一个空的C#项目,定义该项目的.csproj文件在内容和结构上都是很复杂的,因为这个.csproj文件的结构并不是面向开发者设计的,我们也不会直接编辑这个文件,而是利用Visual Studio通过设置当前项目的某些属性间接地修改它。但是对于一个.NET Core应用来说,这个.csproj文件的结构变得相对简单并清晰了一些,以至于作为开发人员的我们经常会直接编辑它。对于前面我们执行脚手架命令创建的控制台程序,定义项目的helloworld.csproj文件的完整内容如下。

<Project Sdk="Microsoft.NET.Sdk">
  <PropertyGroup>
    <OutputType>Exe</OutputType>
    <TargetFramework>netcoreapp3.0</TargetFramework>
  </PropertyGroup>
</Project>

如上面的代码片段所示,这个helloworld.csproj是一个根节点为<Project>的XML文件,与项目相关的属性可以分组定义在相应的<PropertyGroup>节点下。这个helloworld.csproj文件实际上只定义了两个属性,分别是通过<OutputType><TargetFramework>节点表示的编译输出类型和目标框架。由于我们创建的是一个针对.NET Core 3.0的可执行控制台应用,所以目标框架为“netcoreapp3.0”,编译输出为Exe。

我们执行的dotnet new命令行除了帮助我们创建一个空的控制台程序之外,还会帮助我们生成一些初始化代码,这就是项目目录下的这个Program.cs文件的内容。如下所示的代码片段给出了定义在这个文件的整个C#代码的定义,我们可以看到它定义了代表程序入口点的Main方法,并在这个方法中将字符串“Hello World”打印在控制台上。

using System;    
namespace helloworld
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
        }
    }
}

 

通过执行脚手架命令行创建出来应用程序虽然简单,但是它却是一个完整的.NET Core应用,它可以在无需任何修改的情况下直接编译和运行。针对.NET Core应用的编译和运行同样是利用这个dotnet.exe命令行来完成的。如下图所示,在进入当前项目所在目录之后,我们执行dotnet build命令对这个控制台应用实施编译,由于默认采用Debug编译模式,所以编译生成的程序集会保存在\bin\debug\目录下。除此之外,针对不同目标框架编译生成的程序集是不同的,由于我们创建的是针对.NET Core 3.0的应用程序,所以最终生成的程序集被保存在“\bin\Debug\netcoreapp3.0\”目录下。

画像

あなたがコンパイル出力ディレクトリを見れば、我々は2同じ名前を持つ(「HelloWorldの」)ファイルを検索します、一つはあるHelloWorld.dll、およびその他があるHelloWorld.exe、サイズは後者がはるかに大きくなります。明らかにhelloworld.exeは、実行可能ファイルを直接実行することができますが、helloworld.dllは単純なダイナミックリンクライブラリは、コマンドラインdotnet.exeを実行する必要があります。

我々はプロジェクトディレクトリを行ったときに、図5に示すように、DOTNETの実行コマンドは、コンパイルされたプログラムが実行される、方法メインエントリの「Hello World」の文字列で指定されたプログラムを、コンソール上に直接印刷されています。実際には、我々は、コマンドが自動的に表示されずにコンパイル操作をトリガーするため、ソースコードコンパイラの実装を構築DOTNET、プログラムの実行を開始するDOTNET runコマンドを実行する前に。実行DOTNETコマンドセットでアプリケーションを起動し、我々はまた、組立を開始する(ダイレクトパスを指定することができ、デバッグ\ netcoreapp3.0 \ HelloWorld.dll \ DOTNETビンを)。

画像

[ASP.NETコア3の枠組みシークレット]クロスプラットフォーム開発の経験:Windowsの[パート]
[ASP.NETコア3の枠組みのシークレット]クロスプラットフォーム開発の経験:Windowsの[novellas]
[ASP.NETコア3の枠組みのシークレット]クロスプラットフォーム開発経験:Windowsの[次のページ]
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発の経験:Mac OSの
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発の経験:Linuxの
[3コアASP.NETフレームワークシークレット]クロスプラットフォーム開発経験:ドッカー

おすすめ

転載: www.cnblogs.com/artech/p/inside-asp-net-core-01-01.html