◆ fedora に .NET Core をインストール
◆ リポジトリを追加して dnf でインストールできる

いつも VisualStudio か VisualStudio Code (Windows) だったのでたまには Fedora で動かそうと思ってやってみました
mono もありますが 今は .NET Core があるのでそっちを使います

ここにディストリビューションごとの詳細が書かれています
https://docs.microsoft.com/ja-jp/dotnet/core/linux-prerequisites?tabs=netcore2x

fedora は 25 または 26 となってましたが 27 でも大丈夫でした

簡単にまとめると

dnf のリポジトリを追加します

sudo micro /etc/yum.repos.d/dotnetdev.repo

中身はこうなります

[packages-microsoft-com-prod]
name=packages-microsoft-com-prod
baseurl=https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod
enabled=1
gpgcheck=1
gpgkey=https://packages.microsoft.com/keys/microsoft.asc

あとは dnf で dotnet-sdk-2.0.0 をインストールします

sudo dnf install dotnet-sdk-2.0.0

ちょっとサイズが大きいので時間がかかりました

使ってみる

.NET Core なので使い方は前に書いたのと一緒です

プロジェクトを作ります

[user9@fedora]~% mkdir dotnet_test
[user9@fedora]~% cd dotnet_test
[user9@fedora]~/dotnet_test% dotnet new console

.NET Core へようこそ!
---------------------
.NET Core について詳しくは、https://aka.ms/dotnet-docs をご覧ください。dotnet --help を使って使用可能なコマンドを確認するか、https://aka.ms/dotnet-cli-docs をご覧ください。

テレメトリ
--------------
.NET Core ツールは、操作性を向上させるために利用状況データを収集します。データは匿名で、コマンドライン引数が含まれません。データは Microsoft によって収集され、コミュニティと共有されます。
テレメトリを無効にするには、お好きなシェルを使用して、DOTNET_CLI_TELEMETRY_OPTOUT 環境変数を 1 に設定します。
.NET Core ツールのテレメトリについて詳しくは、https://aka.ms/dotnet-cli-telemetry をお読みください。
準備しています...
テンプレート "Console Application" が正常に作成されました。

作成後のアクションを処理しています...
'dotnet restore' を /home/user9/dotnet_test/dotnet_test.csproj で実行しています...
Restoring packages for /home/user9/dotnet_test/dotnet_test.csproj...
Generating MSBuild file /home/user9/dotnet_test/obj/dotnet_test.csproj.nuget.g.props.
Generating MSBuild file /home/user9/dotnet_test/obj/dotnet_test.csproj.nuget.g.targets.
Restore completed in 376.7 ms for /home/user9/dotnet_test/dotnet_test.csproj.


正常に復元されました。

最初の実行でのみでてくるメッセージですが データ収集してるので 嫌なら環境変数 DOTNET_CLI_TELEMETRY_OPTOUT に 1 を設定してね ということみたいです

プロジェクトが作られると Program.cs ファイルができているので基本はここにコードを書いて dotnet run コマンドを実行します

[user9@fedora]~/dotnet_test% ll
合計 8
-rw-rw-r-- 1 user9 user9 186 4月 16 14:52 Program.cs
drwxrwxr-x 2 user9 user9 128 4月 16 14:52 obj
-rw-rw-r-- 1 user9 user9 178 4月 16 14:52 dotnet_test.csproj
[user9@fedora]~/dotnet_test% micro Program.cs
[user9@fedora]~/dotnet_test% cat Program.cs
using System;

namespace dotnet_test
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("message");
}
}
}
[user9@fedora]~/dotnet_test% dotnet run
message