LoginSignup
1
0

More than 1 year has passed since last update.

「.Net Core」+「.Net Standard」で作成したアプリをLinuxで実行させるための手順

Last updated at Posted at 2021-02-12

0. はじめに

.Netの「System.Diagnostics.Process.Start」メソッドがLinux環境で動作するか検証する機会がありましたので、少し抽象化してこのような記事を書くことにしました。
まぁぶっちゃけ Microsoft公式ドキュメント には、一部のオーバーロードを除いて実行できるみたいに書かれているのですが、実際に動かして確認してみたいと思ったわけです。

1. 環境

  • Windows 10
    • Linux (Ubuntu)
    • WSL2
  • Visual Studio 2019 (Community)
    • C#
    • .Net Core 3.1
    • .Net Standard 2.0

2. 動作確認用のアプリを実装する

「Process.Start」メソッドを使用して、SVNのログを出力するだけの簡単なアプリを実装しました。
分担は以下のようになっています。

名前 種類 なんだこれは
SvnLib .Net Standard SVNのログを出力するライブラリ
SvnTest .Net Core ↑を実行するコンソールアプリ

実装はGitHubにアップしました。

3. Linux用にアプリを発行する

Windowsで動かす分には普通にビルドしてexeを発行すればいいのですが、Linuxで動かすにはLinux用のアプリを発行します。
Visual Studioを使用し、以下の手順で行います。

①対象プロジェクトのコンテキストメニューにて、「発行」を選択します。
スクリーンショット 2021-02-09 224612.png

②ターゲットタブにて「フォルダー」を選択し、「次へ」を押下します。
スクリーンショット 2021-02-09 224745.png

③特定のターゲットタブにて「フォルダー」を選択し、「次へ」を押下します。
スクリーンショット 2021-02-09 230603.png

④「参照」にてアプリの発行先を選択し、「完了」を押下します。
スクリーンショット 2021-02-09 224838.png

⑤「構成」又は「ターゲットラインタイム」の鉛筆(?)を押下します。
スクリーンショット 2021-02-09 225339.png

⑥各プロファイル情報を入力し、「保存」を押下します。
スクリーンショット 2021-02-09 225511.png

⑦「発行」を押下します。
スクリーンショット 2021-02-09 225601.png

⑧指定したフォルダに発行されます。赤丸がLinuxアプリファイルになります。
スクリーンショット 2021-02-11 215451.png

4. Windows 10でLinuxを使うための環境構築

今回はWindowsでWSL2使ってLinuxを動かすので、そのための環境構築を行います。
私は以前Dockerを使用した際に環境構築していたので今回は不要でした。
当時は以下のサイトを参考にさせて頂きました。

5. Linux上で実行してみる

今回の場合はLinuxにsubversionを入れる必要がありましたので、↓を実行します。

sudo apt install subversion

環境が整ったところでアプリを実行させてみます。

cd /mnt/c/xxxxxx/SvnTest-Linux
./SvnTest "log --xml -v file:///mnt/c/xxxxxx -l 5" "svn"

----
5 : zzz変更
4 : zzz追加
3 : yyy削除
2 : xxx変更
1 : xxx新規追加
----

OK!

6. おわりに

次使う機会あるかな?と思ったことでも、抽象化してアウトプットしておくことが大事だと感じました!!

7. 参考

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0