ツールが使いづらいとかいう話ではなく、開発環境の入手が困難なのだ。

dotnet で GUI というと、ソースコードをエディタで書いて GUI アプリケーションを作ることは不可能ではないが、時代を30年ほど遡る行為だろう。既に20年は前から、このような場合は IDE を使いデザインモードも使って RAD 開発をするのが当たり前なのだから。

代わりに mono と GTK# を使う手があり、この方法での IDE としては monodevelop 一択なのだが、 ubuntu には、もうかなりの期間の間、 monodevelop のパッケージがリリースされていないため、自前でビルドする必要がある。

そこで、まず、 monodevelop の git のサイトなどを見て、下のようにすれば monodevelop のビルドができることが分かったので試した。

$ git clone https://github.com/mono/monodevelop/ --recursive

$ cd monodevelop

$ ./configure --profile=gnome

$ make

make の途中で、エラー62件で中止された。monodevelop の issue への投稿を見ると、2019年1月に、構成の冗長性を修正したというコミットがされて以降、 Linux 環境では monodevelop のビルドが通らない状態がずっと続いており、解決のめどは立っていないようだ。(どうも Linux 版はこのまま放置されそうだ。)パッケージが長期間リリースされない理由は、恐らくこのビルドが通らないことが原因だろう。

そこで、問題のコミット以前の状態まで git reset --hard コマンドでロールバックし、ビルドを通そうとしたが、 git submodule update --init --recursive を実行すると、サブモジュールとしてクローンしようとする別のプロジェクトが既に存在しないため、エラーとなり、ビルドが通らない。それだけ手動で過去のリリースからダウンロードしたとしても、ビルドの処理の一部として通らないので意味がない。

そこで、以前のリリースのソースアーカイブをダウンロードしてみたが、 make の途中で git を使う処理が入るようで、 git でクローンしたプロジェクトではないので当然エラーになってしまい、ビルドが通らない。

そこで、 wine に windows 版の monodevelop をインストールすることを考えたが、 windows 版の monodevelop はソースコードしか提供されないそうだ。

そこで、 wine に windows 版の monodevelop をビルドする環境を構築しようとしたが、それには Visual Studio 2017 のインストールが必要となることが分かった。

そこで、インストールを試みたが、 wine はインストーラを起動できず失敗することが分かった。 wine に mono がインストールされている状態では mscoree.dll を使おうとして、 mono ではだめなようで失敗するようだ。

そこで、 GUI を用いないサイレントインストールを試みたが、 GUI を用いないインストール形式でも同じエラーが出るようでだめだった。

そこで、 wine に .Net Framework をインストールしようとしたが、しばらく前の wine のバージョンから .Net Framework は動作が壊れてしまっているとのことで、 winetricks はインストールを中止してしまう。

さて、ここまであれこれ手を尽くしてあがいたが、どの方法も全て解決策が塞がれており、文字通りの八方塞がり状態だ。

他には、dotnet での GUI 開発環境として Avalonia UI や AvalonStudio もあるのだが、どちらも現状、環境が構築できない状態だ。(公式サイト通りの方法で構築しようとしても途中でエラーを起こす。)

Linux での GUI アプリケーション開発環境、どんだけ構築困難なの・・・。

この記事のリンク元 | 10 | 8 | 4 | 2 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/diary/20201129_210153852159.htm


作成したプロジェクトの <プロジェクト名>.csproj ファイルを開き、

TargetFramework タグの内容で指定する。

netcoreapp3.1・・・dotnet core 3.1 を指定する場合。

net5.0・・・ .Net 5.0 を指定する場合。

指定した dotnet のバージョンにより、C#の規定のバージョンも変化する。

dotnet core 3.x の場合、 C# 8.0

.Net 5.0 の場合、 C#9.0

が使用される。

例えば、 switch 文の case <条件式> に、' > 2' などのリレーショナルパターンを使用したい場合は、 C# 9.0 以降が必要になるため、このような場合は TargetFramework に net5.0 と指定してやるとよい。

この記事のリンク元 | 10 | 8 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20201129_024427590468.htm

キーワード: dotnet TargetFramework C#


例えば 5.21 staging を ubuntu20.04LTS focal fossa にインストールしたい場合:

$ sudo apt install --install-recommends winehq-staging=5.21~focal wine-staging=5.21~focal wine-staging-i386=5.21~focal wine-staging-amd64=5.21~focal

のようにする。

この記事のリンク元 | 10 | 8 | 3 | 1 | 1 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20201124_204710910645.htm

キーワード: ubuntu wine install


/users/*/Application Data/Virtual Dyno/

に保存する。

その他の場所だとエラーとなり、保存できない。

(説明の文書などは一切ないので注意。)

この記事のリンク元 | 13 | 8 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/memo/20201123_150759838314.htm

キーワード: Virtual Dyno custom car


Celestia の公式サイトには、 ubuntu 公式以外のリポジトリを追加することでインストールする方法が提示されていたが、誰が提供しているのははっきりせず、欲しいときに提供されているかも分からないので、こちらを参考に、自前でビルドしてインストールした。

参考 URL によると、ビルドは、下の通りにすればよい。

# install libraries

Sudo apt install qtbase5-dev-tools qtbase5-dev libqt5opengl5-dev qtchooser libglu1-mesa-dev libpng-dev libjpeg-dev libtheora-dev liblua5.3-dev build-essential libglew-dev libeigen3-dev libluajit-5.1-dev libgtk-3-dev libfmt-dev

# clone as in previous answer

git clone https://github.com/CelestiaProject/Celestia

cd Celestia && mkdir build && cd build

# install with cmake

cmake -o Makefile ../

make

Sudo make install

#copy icon to system folder

Sudo cp ../src/celestia/qt/data/celestia.png /usr/share/icons/hicolor/128x128/apps

#make .desktop file

cat >$HOME/.local/share/applications/celestia.desktop <<'EOL'

[Desktop Entry]

Version=1.7.0

Type=Application

Name=Celestia

GenericName=Space simulator

Comment=Open source space simulator

TryExec=/usr/local/bin/celestia-qt

Exec=/usr/local/bin/celestia-qt

Categories=Astronomy;Science;Qt;

Icon=/usr/share/icons/hicolor/128x128/apps/celestia.png

MimeType=application/x-celestia-script

Terminal=false

EOL

#Make exec

cd $HOME/.local/share/applications/

chmod +x *.desktop

このままだと、UIは大丈夫だが肝心の天体画面の方に日本語が表示されず使いものにならないので、日本語が表示できるフォントをインストールする必要がある。こちらの解説を参考に、 ipagui.ttf を /usr/local/share/celestia/fonts/ にコピーして、 /usr/local/share/celestia/celestia.cfg を編集し、

Font "ipagui.ttf,14"

LabelFont "ipagui.ttf,14"

TitleFont "ipagui.ttf,16"

のように記述することで、天体画面に文字が正常に表示された。

この記事のリンク元 | 9 | 8 | 7 | 1 |

この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/software/20201122_224850868679.htm

キーワード: ubuntu celestia