ツールが使いづらいとかいう話ではなく、開発環境の入手が困難なのだ。
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
そこで、以前のリリースのソースアーカイブをダウンロードしてみたが、 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 アプリケーション開発環境、どんだけ構築困難なの・・・。
この記事のリンク用URL&トラックバックURL : https://red-souls.jp/ichounoki/rnote/diary/20201129_210153852159.htm
キーワード: Linux monodevelop Avalonia UI AvalonStudio RAD mono dotnet