参照エラーと思われる。
前回
- http://ytyaru.hatenablog.com/entry/2020/02/10/000000
- http://ytyaru.hatenablog.com/entry/2020/02/11/000000
- http://ytyaru.hatenablog.com/entry/2020/02/12/000000
- http://ytyaru.hatenablog.com/entry/2020/02/13/000000
libe_sqlite3.so
ファイルを作成して実行ファイルのディレクトリに配置することで「System.DllNotFoundException: e_sqlite3」エラーは解決した。が、Microsoft.Data.Sqlite.SqliteException: SQLite Error 1: 'no such table: *'.
のエラーが解決できない。
一旦Eto.Formをやめて単純なコンソールプロジェクトで試そうとしたら、.NET Coreのコンソールプロジェクトはデフォルトの状態ですでにビルドできない有様。でも.NET Frameworkプロジェクトならビルドできた。
対象環境
- Raspbierry pi 3 Model B+
- Raspbian stretch(9.0) 2018-06-27
- Mono 5.16.0
- MonoDevelop 7.6 build 711
- Eto.Forms 2.4.1 拡張機能, NuGetパッケージ
- .NET Core 2.2, MonoDevelop参照方法
手順
- プロジェクト作成
- パッケージ追加
1. プロジェクト作成
- MonoDevelopを起動する
- メニュー→
ファイル
→新しいソリューション
その他
→.NET
→コンソールアプリケーション
を選択する
- プロジェクトを右クリックして
オプション
をクリックする ビルド
→全般
→ターゲットフレームワーク
が.NET Framework 4.7.1
になっている(.NET Core 1.1(インストールされていません)
ではない)ことを確認する
2. パッケージ追加
- メニュー→
プロジェクト
→NuGet パッケージの追加
パッケージを追加
ダイアログから欲しいパッケージを探す
Microsoft.EntityFrameworkCore 2.2.0
- Microsoft.EntityFrameworkCore.Design 2.2.0
- Microsoft.EntityFrameworkCore.Tools 2.2.0
- Microsoft.EntityFrameworkCore.Sqlite 2.2.0
Microsoft製のパッケージが同意を求めまくってウザい。
毎回1パッケージに1回求めてくる。しかもライセンス表示するとブラウザが起動し、メモリ不足でフリーズする。このインストールに毎回数分かかる。もうやめてくれ。
3. ビルド
実行ボタンを押下すると以下のビルドエラーが出た。
/tmp/work/Projects/OtherConsole0/OtherConsole0/AppDbContext.cs(13,13): Error CS0012: The type 'DbConnection' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data, Version=0.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'. (CS0012) (OtherConsole0)
所感
- 参照エラーっぽいが、どうすればいいの?
- .NET Framework では Eto.Form と併用できないのでは?
一向に成功せずエラーばかり。もう疲れたよ……。