この記事について
2020年3月16日(米国時間) に、.NET Core 3.1 の後継となる .NET 5 の Preview 1 が公開されました。そのため早速インストールして Hello World まで行ってみようと思います。
対象読者
- .NET 5 で遊んでみたい方
環境
今回は macOS でやってみました。
- OS: macOS Catalina Version 10.15.3
SDK インストール
まずは、SDK をダウンロードします。

一番上に.NET 5.0
ってありますね。

内容を見ると、SDK は 1 つで、Runtime の方は 3 つに分かれてますね。
ここは .NET Core 3.0/3.1 の時と変わらないようです。
- ASP.NET Core Runtime 5.0.0-preview.1
- Desktop Runtime 5.0.0-preview.1
- .NET Runtime 5.0.0-preview.1 (上2つが一緒になっているやつ)
今回は SDK をインストールするので、一緒に .NET Runtime が入ります。
また Language Support のところを見てみると、.NET Core 3.1 と比べて、
- C# 8.0 #変化なし
- F# 5.0-preview #バージョンアップ
- Visual Basic 新規追加
となっていました。
SDK 5.0.100-preview.1 の macOS Installers x64 をダウンロードしてインストールします。
インストーラー内は特段難しい内容はないので、内容はスキップします。次へ次へでインストールしてください。
バージョン確認
.NET 5.0 Preview 1 の SDK と Runtime が正常にインストールされたことを確認します。
dotnet --list-sdks
# 実行結果
5.0.100-preview.1.20155.7 [/usr/local/share/dotnet/sdk]
dotnet --list-runtimes
# 実行結果
Microsoft.AspNetCore.App 5.0.0-preview.1.20124.5 [/usr/local/share/dotnet/shared/Microsoft.AspNetCore.App]
Microsoft.NETCore.App 5.0.0-preview.1.20120.5 [/usr/local/share/dotnet/shared/Microsoft.NETCore.App]
Runtime の方は、.NET Core vNext と言われていたこともあって、まだ Core の名前が残っていますね。
2020年11月リリース予定の .NET 5 も、preview の文字が取れるだけだと思います。
.NET 6 になったら変わる可能性とかあるのかな、いや、なさそう・・・
Hello World
今回は ASP.NET Core で Hello World をやってみます。
Learn .NET のサイトを参考にします。
このサイトは、ML.NET とかいろんな .NET の Tutorial があって良いですね。
mkdir -p dotnet5
cd dotnet5
dotnet new webApp -o myWebApp --no-https
Welcome to .NET 5.0!
---------------------
SDK Version: 5.0.100-preview.1.20155.7
Getting ready...
The template "ASP.NET Core Web App" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/5.0-third-party-notices for details.
Processing post-creation actions...
Running 'dotnet restore' on myWebApp/myWebApp.csproj...
/dotnet5/myWebApp/myWebApp.csproj の復元が 1.16 sec で完了しました。
Restore succeeded.
はい、というわけでプロジェクトができました。構成を確認してみます。
cd myWebApp
ls -al
total 40
drwxr-xr-x 11 ymasaoka staff 352 3 19 01:12 .
drwxr-xr-x 3 ymasaoka staff 96 3 19 01:12 ..
drwxr-xr-x 11 ymasaoka staff 352 3 19 01:12 Pages
-rw-r--r-- 1 ymasaoka staff 716 3 19 01:12 Program.cs
drwxr-xr-x 3 ymasaoka staff 96 3 19 01:12 Properties
-rw-r--r-- 1 ymasaoka staff 1442 3 19 01:12 Startup.cs
-rw-r--r-- 1 ymasaoka staff 162 3 19 01:12 appsettings.Development.json
-rw-r--r-- 1 ymasaoka staff 192 3 19 01:12 appsettings.json
-rw-r--r-- 1 ymasaoka staff 148 3 19 01:12 myWebApp.csproj
drwxr-xr-x 7 ymasaoka staff 224 3 19 01:12 obj
drwxr-xr-x 6 ymasaoka staff 192 3 19 01:12 wwwroot
.NET 開発ではおなじみのファイルが出来ています。このmyWebApp.csproj
の中身を見てみます。
<Project Sdk="Microsoft.NET.Sdk.Web">
<PropertyGroup>
<TargetFramework>netcoreapp5.0</TargetFramework>
</PropertyGroup>
</Project>
TargetFramework
が netcoreapp5.0 となっており、.NET 5 が使われています。いいですね。
実際に動かしてみます。
dotnet run
warn: Microsoft.AspNetCore.DataProtection.KeyManagement.XmlKeyManager[35]
No XML encryptor configured. Key {e62d2593-183e-4326-b419-9f280410c8df} may be persisted to storage in unencrypted form.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://localhost:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: /dotnet5/myWebApp
Now listening on: http://localhost:5000
が表示されたら、Web ブラウザで http://localhost:5000 にアクセスします。
ASP.NET Core での最初の画面が確認できます。

問題なくアクセスできたら、[Ctrl] + [C] を押して アプリを終了します。
先ほどの画面の表示はWelcome
だったので、これを Hello, World! に書き換えます。
Pages ディレクトリ以下にあるIndex.cshtml
を編集します。
@page
@model IndexModel
@{
ViewData["Title"] = "Home page";
}
<div class="text-center">
<h1>Hello, world!</h1>
<p>The time on the server is @DateTime.Now</p>
</div>
myWebApp ディレクトリに戻って、再度アプリを起動します。
dotnet run

無事に、Hello World ができました。
おわりに
Learn .NET では、次は Razor Page の話になっていますが、ここは .NET Core 3.0 で登場した Blazor を .NET 5 で試してみたいですね。