Fedora で C# を実行する
◆ fedora に .NET Core をインストール
◆ リポジトリを追加して dnf でインストールできる
◆ リポジトリを追加して 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 で dotnet-sdk-2.0.0 をインストールします
ちょっとサイズが大きいので時間がかかりました
プロジェクトを作ります
最初の実行でのみでてくるメッセージですが データ収集してるので 嫌なら環境変数 DOTNET_CLI_TELEMETRY_OPTOUT に 1 を設定してね ということみたいです
プロジェクトが作られると Program.cs ファイルができているので基本はここにコードを書いて dotnet run コマンドを実行します
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