概要
中古ノート買ってみた。
wsl1のubuntu18.04にmono入れてみた。
mono版プロデル、入れてみた。
参考にしたページ
環境
windows10
wsl1
ubuntu18.04
mono 4.6.2
インストール
# wget -O produire-mono.tar.gz https://produ.irelang.jp/downloads/mono/latest.php?type=tar
--2025-10-18 10:46:35-- https://produ.irelang.jp/downloads/mono/latest.php?type=tar
Resolving produ.irelang.jp (produ.irelang.jp)... 2400:8500:1301:162::17:1, 163.44.176.17
Connecting to produ.irelang.jp (produ.irelang.jp)|2400:8500:1301:162::17:1|:443... failed: Connection refused.
Connecting to produ.irelang.jp (produ.irelang.jp)|163.44.176.17|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 1840740 (1.8M) [application/octet-stream]
Saving to: ‘produire-mono.tar.gz’
produire-mono.tar.gz 100%[=================================================>] 1.75M 5.21MB/s in 0.3s
2025-10-18 10:46:38 (5.21 MB/s) - ‘produire-mono.tar.gz’ saved [1840740/1840740]
# tar zxvf produire-mono.tar.gz
produire-mono/eula.txt
produire-mono/pconsole.exe
produire-mono/plugins/
produire-mono/plugins/Mono.Data.Sqlite.dll
produire-mono/plugins/MySql.Data.dll
produire-mono/plugins/Produire.CoreLibrary.dll
produire-mono/plugins/Produire.Crypto.dll
produire-mono/plugins/Produire.Data.Base.dll
produire-mono/plugins/Produire.Data.dll
produire-mono/plugins/Produire.Data.Grid.dll
produire-mono/plugins/Produire.Data.MySQL.dll
produire-mono/plugins/Produire.Data.Oracle.dll
produire-mono/plugins/Produire.Data.PgSql.dll
produire-mono/plugins/Produire.Data.SQLiteMono.dll
produire-mono/plugins/Produire.File.dll
produire-mono/plugins/Produire.msil.dll
produire-mono/plugins/Produire.Network.dll
produire-mono/plugins/Produire.Network.FTP.dll
produire-mono/plugins/Produire.Network.Mail.dll
produire-mono/plugins/Produire.Network.SimpleFTP.dll
produire-mono/plugins/Produire.PGraphics.dll
produire-mono/plugins/Produire.WebCommon.dll
produire-mono/plugins/Produire.WinControl.dll
produire-mono/plugins/System.Data.SQLite.dll
produire-mono/plugins/TKFP.dll
produire-mono/plugins/TKMP.dll
produire-mono/plugins/プロデルテストユニット.rdr
produire-mono/Produire.Compiler.dll
produire-mono/Produire.Core.dll
produire-mono/Produire.exe
produire-mono/Produire.WebServer.dll
produire-mono/rdrc.exe
produire-mono/rdrcgi-mono-fastcgi.exe
produire-mono/rdrcgi.exe
produire-mono/RdrWebServer.exe
produire-mono/rdrwebserverc.exe
produire-mono/readme.md
produire-mono/samples/
produire-mono/samples/image/
produire-mono/samples/image/back.bmp
produire-mono/samples/image/bold.ico
produire-mono/samples/image/center.bmp
produire-mono/samples/image/ChooseColor.bmp
produire-mono/samples/image/copy.bmp
produire-mono/samples/image/cut.bmp
produire-mono/samples/image/delete.bmp
produire-mono/samples/image/document.ico
produire-mono/samples/image/folder_close.ico
produire-mono/samples/image/folder_open.ico
produire-mono/samples/image/Font.bmp
produire-mono/samples/image/forward.bmp
produire-mono/samples/image/home.bmp
produire-mono/samples/image/indent.bmp
produire-mono/samples/image/Itl.ico
produire-mono/samples/image/left.bmp
produire-mono/samples/image/mail.ico
produire-mono/samples/image/new.bmp
produire-mono/samples/image/open.bmp
produire-mono/samples/image/paste.bmp
produire-mono/samples/image/print.bmp
produire-mono/samples/image/refresh.bmp
produire-mono/samples/image/right.bmp
produire-mono/samples/image/save.bmp
produire-mono/samples/image/stop.bmp
produire-mono/samples/image/strikther.bmp
produire-mono/samples/image/sub.bmp
produire-mono/samples/image/sup.bmp
produire-mono/samples/image/under.ico
produire-mono/samples/かめ/
produire-mono/samples/かめ/アルキメデスのらせん.rdr
produire-mono/samples/かめ/コッホ.rdr
produire-mono/samples/かめ/シェルピンスキーのジャスケット.rdr
produire-mono/samples/かめ/スタンプ.rdr
produire-mono/samples/かめ/リサジュー.rdr
produire-mono/samples/かめ/円を描く.rdr
produire-mono/samples/かめ/多角形.rdr
produire-mono/samples/かめ/対数らせん.rdr
produire-mono/samples/かめ/文字を描く.rdr
produire-mono/samples/かめ/星を描く.rdr
produire-mono/samples/かめ/枝を利用した模様.rdr
produire-mono/samples/かめ/枝を利用した模様2.rdr
produire-mono/samples/かめ/枝を利用した模様3.rdr
produire-mono/samples/かめ/渦巻き.rdr
produire-mono/samples/かめ/連続模様.rdr
produire-mono/samples/かめ/風車.rdr
produire-mono/samples/かめ/6角形を描く.rdr
produire-mono/samples/アプリ/
produire-mono/samples/アプリ/RSSリーダ.rdr
produire-mono/samples/アプリ/デジタル時計.rdr
produire-mono/samples/アプリ/ペイント.rdr
produire-mono/samples/アプリ/メモ帳.rdr
produire-mono/samples/アプリ/品目リスト.xml
produire-mono/samples/アプリ/在庫管理.rdr
produire-mono/samples/アプリ/在庫管理データ.xml
produire-mono/samples/アプリ/小遣い帳.rdr
produire-mono/samples/アプリ/書式付きテキストエディタ.rdr
produire-mono/samples/アプリ/電卓.rdr
produire-mono/samples/アルゴリズム/
produire-mono/samples/アルゴリズム/エラトステネスの篩い.rdr
produire-mono/samples/アルゴリズム/カレンダ.rdr
produire-mono/samples/アルゴリズム/ハノイの塔.rdr
produire-mono/samples/アルゴリズム/パスワード生成ツール.rdr
produire-mono/samples/アルゴリズム/フィボナッチ数.rdr
produire-mono/samples/アルゴリズム/リンクリスト.rdr
produire-mono/samples/アルゴリズム/最大公約数.rdr
produire-mono/samples/アルゴリズム/階乗.rdr
produire-mono/samples/ウィンドウ部品/
produire-mono/samples/ウィンドウ部品/MDIウィンドウ.rdr
produire-mono/samples/ウィンドウ部品/お気に入りツリー.rdr
produire-mono/samples/ウィンドウ部品/ウェブブラウザ.rdr
produire-mono/samples/ウィンドウ部品/ウェブブラウザ内の検索バー操作.rdr
produire-mono/samples/ウィンドウ部品/カレンダ部品.rdr
produire-mono/samples/ウィンドウ部品/キーイベント手順.rdr
produire-mono/samples/ウィンドウ部品/ステータスバー.rdr
produire-mono/samples/ウィンドウ部品/タブページ.rdr
produire-mono/samples/ウィンドウ部品/ツールバー.rdr
produire-mono/samples/ウィンドウ部品/テキスト部品.rdr
produire-mono/samples/ウィンドウ部品/ファイル一覧.rdr
produire-mono/samples/ウィンドウ部品/プログレスバー.rdr
produire-mono/samples/ウィンドウ部品/ボタンとテキスト.rdr
produire-mono/samples/ウィンドウ部品/マウスイベント手順.rdr
produire-mono/samples/ウィンドウ部品/メニュー.rdr
produire-mono/samples/ウィンドウ部品/リストビュー.rdr
produire-mono/samples/ウィンドウ部品/リソース.rdr
produire-mono/samples/ウィンドウ部品/入力値検証.rdr
produire-mono/samples/ウィンドウ部品/入力画面.rdr
produire-mono/samples/ウィンドウ部品/分割パネル.rdr
produire-mono/samples/ウィンドウ部品/通知アイコン.rdr
produire-mono/samples/ゲーム/
produire-mono/samples/ゲーム/images/
produire-mono/samples/ゲーム/images/block1.png
produire-mono/samples/ゲーム/images/block2.png
produire-mono/samples/ゲーム/images/block3.png
produire-mono/samples/ゲーム/images/block4.png
produire-mono/samples/ゲーム/images/block5.png
produire-mono/samples/ゲーム/images/block6.png
produire-mono/samples/ゲーム/images/block7.png
produire-mono/samples/ゲーム/images/mogura-hit.png
produire-mono/samples/ゲーム/images/mogura.png
produire-mono/samples/ゲーム/images/tile.png
produire-mono/samples/ゲーム/さめがめ (SAME GAME).rdr
produire-mono/samples/ゲーム/もぐらたたきゲーム.rdr
produire-mono/samples/ゲーム/ゲームパッド.rdr
produire-mono/samples/ゲーム/シューティングゲーム/
produire-mono/samples/ゲーム/シューティングゲーム/エネミー.rdr
produire-mono/samples/ゲーム/シューティングゲーム/キャラクタ.rdr
produire-mono/samples/ゲーム/シューティングゲーム/ゲームウィンドウ.rdr
produire-mono/samples/ゲーム/シューティングゲーム/シューティングゲーム.rdrproj
produire-mono/samples/ゲーム/テトリス.rdr
produire-mono/samples/ゲーム/リバーシ.rdr
produire-mono/samples/ソフト開発/
produire-mono/samples/ソフト開発/テストツール/
produire-mono/samples/ソフト開発/テストツール/プロデルテストユニット.rdr
produire-mono/samples/ソフト開発/テストツール/失敗するテストケースの例.rdr
produire-mono/samples/ソフト開発/テストツール/成功するテストケースの例.rdr
produire-mono/samples/データ操作/
produire-mono/samples/データ操作/XML/
produire-mono/samples/データ操作/XML/XML書き込み.rdr
produire-mono/samples/データ操作/XML/XML読み込み.rdr
produire-mono/samples/データ操作/XML/くだもの.xml
produire-mono/samples/データ操作/データベース/
produire-mono/samples/データ操作/データベース/Accessデータベース操作.rdr
produire-mono/samples/データ操作/データベース/database.db
produire-mono/samples/データ操作/データベース/database.mdb
produire-mono/samples/データ操作/データベース/mysql.dsn
produire-mono/samples/データ操作/データベース/プロデルでMySQL(ODBC).rdr
produire-mono/samples/データ操作/データベース/プロデルでMySQL.rdr
produire-mono/samples/データ操作/データベース/プロデルでOracle.rdr
produire-mono/samples/データ操作/データベース/プロデルでPostgreSQL.rdr
produire-mono/samples/データ操作/データベース/プロデルでSQLite.rdr
produire-mono/samples/データ操作/データベース/プロデルでSQLServer.rdr
produire-mono/samples/データ操作/表部品/
produire-mono/samples/データ操作/表部品/database.mdb
produire-mono/samples/データ操作/表部品/post.csv
produire-mono/samples/データ操作/表部品/チェックボックス列部品.rdr
produire-mono/samples/データ操作/表部品/表部品(Access連携).rdr
produire-mono/samples/データ操作/表部品/表部品(SQLite).rdr
produire-mono/samples/データ操作/表部品/表部品-CSV.rdr
produire-mono/samples/データ操作/表部品/表部品-データのコピー.rdr
produire-mono/samples/データ操作/表部品/表部品.rdr
produire-mono/samples/ネットワーク/
produire-mono/samples/ネットワーク/HTTPで取得.rdr
produire-mono/samples/ネットワーク/TCPIP通信クライアント.rdr
produire-mono/samples/ネットワーク/TCPIP通信サーバ.rdr
produire-mono/samples/ネットワーク/Webからファイルのダウンロード.rdr
produire-mono/samples/ファイル/
produire-mono/samples/ファイル/CSVファイルの操作.rdr
produire-mono/samples/ファイル/data.csv
produire-mono/samples/ファイル/INIファイルの読み書き.rdr
produire-mono/samples/ファイル/エクスプローラ風ファイルリスト.rdr
produire-mono/samples/ファイル/サムネイルビューア.rdr
produire-mono/samples/ファイル/ショートカットファイル.rdr
produire-mono/samples/ファイル/テキストファイル.rdr
produire-mono/samples/ファイル/テキスト検索.rdr
produire-mono/samples/ファイル/バイナリダンプ.rdr
produire-mono/samples/ファイル/バイナリファイル.rdr
produire-mono/samples/ファイル/ファイルのドラッグドロップ.rdr
produire-mono/samples/ファイル/ファイルツリー.rdr
produire-mono/samples/ファイル/プログラムの起動と終了.rdr
produire-mono/samples/公開フォルダ/
produire-mono/samples/公開フォルダ/contenttype.rdr
produire-mono/samples/公開フォルダ/cookie.rdr
produire-mono/samples/公開フォルダ/datetime.rdr
produire-mono/samples/公開フォルダ/directorylist.rdr
produire-mono/samples/公開フォルダ/guestbook.rdr
produire-mono/samples/公開フォルダ/index.html
produire-mono/samples/公開フォルダ/info.cgi
produire-mono/samples/公開フォルダ/info.rdr
produire-mono/samples/公開フォルダ/plogo.png
produire-mono/samples/公開フォルダ/post.rdr
produire-mono/samples/公開フォルダ/pspt/
produire-mono/samples/公開フォルダ/pspt/index.rdr
produire-mono/samples/公開フォルダ/pspt/pspt.rdr
produire-mono/samples/公開フォルダ/pspt/テンプレート/
produire-mono/samples/公開フォルダ/pspt/テンプレート/body.pspt
produire-mono/samples/公開フォルダ/pspt/テンプレート/foreach.pspt
produire-mono/samples/公開フォルダ/pspt/テンプレート/index.pspt
produire-mono/samples/公開フォルダ/rdrblog/
produire-mono/samples/公開フォルダ/rdrblog/base.css
produire-mono/samples/公開フォルダ/rdrblog/images/
produire-mono/samples/公開フォルダ/rdrblog/images/bg_contents.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_contents_footer.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_dotline.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_footmenu.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_header_bottom.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_header_top.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_list.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_main.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_menu.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_sub.gif
produire-mono/samples/公開フォルダ/rdrblog/images/bg_totop.gif
produire-mono/samples/公開フォルダ/rdrblog/index.cgi
produire-mono/samples/公開フォルダ/rdrblog/index.rdr
produire-mono/samples/公開フォルダ/rdrblog/pspt.rdr
produire-mono/samples/公開フォルダ/rdrblog/rdrblog.db
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/admin.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/base.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/category.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/diary.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/diarydetail.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/edit.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/link.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/login.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/menu.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/profile.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/search.pspt
produire-mono/samples/公開フォルダ/rdrblog/テンプレート/write.pspt
produire-mono/samples/公開フォルダ/redirect.rdr
produire-mono/samples/公開フォルダ/sendfile.rdr
produire-mono/samples/公開フォルダ/session.rdr
produire-mono/samples/画像/
produire-mono/samples/画像/フォトレタッチ.rdr
produire-mono/samples/画像/画面キャプチャ.rdr
produire-mono/utopiat.Host.dll
確認
# cd produire-mono
# echo 「こんにちは!プロデルへようこそ」を出力して改行する > hello.rdr
# mono pconsole.exe hello.rdr
こんにちは!プロデルへようこそ
# mono pconsole.exe /e 時刻を報告する
11:07:46
# mono pconsole.exe samples/アルゴリズム/カレンダ.rdr
<<2025年9月>>
日 月 火 水 木 金 土
01 02 03 04 05 06
07 08 09 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30
# mono rdrc.exe /mono /console hello.rdr
■☆P プロデル コンパイラ Ver.2.0.1354 P☆■
Copyright(C) 2007-2025 irelang.jp. All rights reserved.
次のソースファイルをコンパイルします。
hello.rdr
次のフォルダにあるプラグインを参照します。
/root/produire-mono/plugins/
プログラムを解析中...
コンパイル済み実行可能ファイルを生成中...
次のファイルが生成されました!
/root/produire-mono/hello.exe
実行するにはターミナルで次のように入力してください。
mono hello.exe
# mono hello.exe
------------------------------------------------------------------------------------------------------------------------
エラーが発生しました。
予期しないエラーが発生しました。申し訳ありません。
原因:TypeInitializationException
The type initializer for 'hello.広域種類' threw an exception.
at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_generic_class_init (intptr)
at hello.メイン種類.起動 () [0x00005] in <8cd1185afa074632b46ce3c0e1bd7a55>:0
at hello.メイン種類.Main () [0x00000] in <8cd1185afa074632b46ce3c0e1bd7a55>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'hello.広域種類' threw an exception. ---> System.ArgumentException: method arguments are incompatible
at System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure, System.Boolean allowClosed) [0x0034a] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Reflection.Emit.DynamicMethod.CreateDelegate (System.Type delegateType) [0x0002f] in <8f2c484307284b51944a1a13a14c0266>:0
at Produire.RdrCallSite.CreateInstance (System.Type type, System.Object[] args) [0x0005a] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.TypeModel.PTypePlugin.CreateInstance (Produire.ICreator creator, System.Boolean asStatic, Produire.IProduireValue[] parameters) [0x00111] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.RdrCallSite.GetStaticObject (Produire.TypeModel.PType pType) [0x00018] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.RdrCallSite.GetStaticObject[T] () [0x00038] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at hello.広域種類..cctor () [0x00005] in <8cd1185afa074632b46ce3c0e1bd7a55>:0
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_generic_class_init (intptr)
at hello.メイン種類.起動 () [0x00005] in <8cd1185afa074632b46ce3c0e1bd7a55>:0
at hello.メイン種類.Main () [0x00000] in <8cd1185afa074632b46ce3c0e1bd7a55>:0
# mono rdrc.exe samples/アルゴリズム/カレンダ.rdr
■☆P プロデル コンパイラ Ver.2.0.1354 P☆■
Copyright(C) 2007-2025 irelang.jp. All rights reserved.
次のソースファイルをコンパイルします。
カレンダ.rdr
次のフォルダにあるプラグインを参照します。
/root/produire-mono/plugins/
プログラムを解析中...
コンパイル済み実行可能ファイルを生成中...
次のファイルが生成されました!
/root/produire-mono/samples/アルゴリズム/カレンダ.exe
実行するにはターミナルで次のように入力してください。
mono カレンダ.exe
# mono samples/アルゴリズム/カレンダ.exe
------------------------------------------------------------------------------------------------------------------------
エラーが発生しました。
予期しないエラーが発生しました。申し訳ありません。
原因:TypeInitializationException
The type initializer for 'カレンダ.広域種類' threw an exception.
at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_generic_class_init (intptr)
at カレンダ.メイン種類.起動 () [0x00005] in <d67efd63ea80477a8c70c1cb85dcf46d>:0
at カレンダ.メイン種類.Main () [0x00000] in <d67efd63ea80477a8c70c1cb85dcf46d>:0
[ERROR] FATAL UNHANDLED EXCEPTION: System.TypeInitializationException: The type initializer for 'カレンダ.広域種類' threw an exception. ---> System.ArgumentException: method arguments are incompatible
at System.Delegate.CreateDelegate (System.Type type, System.Object firstArgument, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure, System.Boolean allowClosed) [0x0034a] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method, System.Boolean throwOnBindFailure) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Delegate.CreateDelegate (System.Type type, System.Reflection.MethodInfo method) [0x00000] in <8f2c484307284b51944a1a13a14c0266>:0
at System.Reflection.Emit.DynamicMethod.CreateDelegate (System.Type delegateType) [0x0002f] in <8f2c484307284b51944a1a13a14c0266>:0
at Produire.RdrCallSite.CreateInstance (System.Type type, System.Object[] args) [0x0005a] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.TypeModel.PTypePlugin.CreateInstance (Produire.ICreator creator, System.Boolean asStatic, Produire.IProduireValue[] parameters) [0x00111] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.RdrCallSite.GetStaticObject (Produire.TypeModel.PType pType) [0x00018] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at Produire.RdrCallSite.GetStaticObject[T] () [0x00038] in <4d281096b1f740b9a8d0aa62a574e1de>:0
at カレンダ.広域種類..cctor () [0x00005] in <d67efd63ea80477a8c70c1cb85dcf46d>:0
--- End of inner exception stack trace ---
at (wrapper managed-to-native) System.Object:__icall_wrapper_mono_generic_class_init (intptr)
at カレンダ.メイン種類.起動 () [0x00005] in <d67efd63ea80477a8c70c1cb85dcf46d>:0
at カレンダ.メイン種類.Main () [0x00000] in <d67efd63ea80477a8c70c1cb85dcf46d>:0
以上。