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

スポンサーリンク

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 StandardSVNのログを出力するライブラリ
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. 参考

コメント

タイトルとURLをコピーしました