Open8
ラズパイ - C#開発
トラブルメモ
visual studio使用時、usingが認識しない
- 生成したファイルをcsで作らないと、"ビルドアクションがなし"となる

- この場合、プロパティを明示的にC#コンパイラに変える必要がある
visual studio - vscodeキーボードでよく使うショートカットメモ
- 通常で効くものと効かないものがあるため、意図したものを記載する
| 操作 | 内容 | note |
|---|---|---|
| ctrl + d | 選択範囲と同じものを選択 | マルチカーソル |
| alt + ↑/↓ | 行の移動 | - |
| ctrl + c | 選択範囲を小文字 | - |
| ctrl + / | 選択行をコメント | - |
razor pagesメモ
- repository pattern
ジェネリックパラメータがはいってこない


razor pages - login関連
- packeage
- Microsoft.AspNetCore.Identity.EntityFrameworkCore
- インストール
- Data下にIdentityDbContextを継承するAuthDbContext
- override OnModelCreating()
- Seed Roles(User, Admin, Super Admin)
- var roles = new List<IdentityRole>...
- builder.Entity<IdentityRole>().HasData(roles);
- Seed Super Admin User
- Add All Roles To Super Admin User
- Seed Roles(User, Admin, Super Admin)
- override OnModelCreating()
Add-Migration "Adding Identity" -Context "AuthDbContext"
Update-Database -Context "AuthDbContext"
Program.cs
builder.Services.AddIdentity<IdentityUser, IdentityRole>()
.AddEntityFrameworkStores<AuthDbContext>();
app.UseAuthentication();

トラブルメモ
Add-Migrationができない
- エラー
PM> Add-Migration InitialCreate Add-Migration : 用語 'Add-Migration' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。 発生場所 行:1 文字:1 + Add-Migration InitialCreate + ~~~~~~~~~~~~~ + CategoryInfo : ObjectNotFound: (Add-Migration:String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException - 対応
- Entity Framework toolsのパッケージが入っていないため
sqliteメモ
visual studioでsqliteのデータベースを確認する
SQLite/SQL Server Compact Toolbox の使用
拡張機能のインストール:
Visual Studio のメニューバーから [拡張機能] > [拡張機能の管理...] を選択します。
[オンライン] カテゴリーを選択し、検索ボックスに「SQLite Toolbox」と入力します。
検索結果から [SQLite/SQL Server Compact Toolbox] を選択し、
[ダウンロード] ボタンをクリックします。
インストール後、Visual Studio を再起動するよう求められる場合があります。
SQLite データベースの追加:
Visual Studio が再起動したら、
メニューバー[表示] > [その他のウィンドウ] > [SQLite/SQL Server Compact Toolbox]
を選択してツールボックスを開きます。
ツールボックス ウィンドウ内で右クリックし、[SQLite データベースの追加] を選択します。
(Add sqlite connetionを選択する)
[ファイルを開く] ダイアログが表示されたら、確認したい SQLite データベースファイル(通常は .db、.sqlite、または .sqlite3 拡張子)を選択して [開く] をクリックします。
-
古い
https://stackoverflow.com/questions/37317754/where-to-put-sqlite-database-file-in-azure-app-service -
AppServiceでのSQLiteの使用は推奨されていない
https://gist.github.com/0gust1/19ff169231f84d70939943eaf781420e -
ref1
https://learn.microsoft.com/en-us/answers/questions/346794/how-to-update-or-insert-sqlite-database-in-web-app
pi5で環境整えメモ
コマンド関連
73 cd study_dotnet/
74 curl -sSL https://dot.net/v1/dotnet-install.sh | bash /dev/stdin --channel LTS
75 ls -l
76 ls
77 echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
78 echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
79 source ~/.bashrc
80 echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
81 echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
82 source ~/.bashrc
83 dotnet --version
84 cd
85 code ./study_dotnet/
86 code study_dotnet/RazorStudy/
87 nano ~/.bashrc
88 source ~/.bash
89 source ~/.bashrc
90 $PATH
91 echo $PATH
92 printenv PATH
93 ls -l ~/.profile
94 nano ~/.profile
95 echo 'export PATH="$PATH:/home/pi/.dotnet/"' >> ~/.profile
96 cat ~/.profile
97 sudo reboot
98 echo 'export DOTNET_ROOT=$HOME/.dotnet' >> ~/.bashrc
99 echo 'export PATH=$PATH:$HOME/.dotnet' >> ~/.bashrc
100 source ~/.bashrc
101 nano ~/.profile
102 sudo reboot
103 history | grep dotnet
104 dotnet watch run
105 dotnet --info
106 dotnet watch run # ホットリロード
107 history
詰まったメモ
PATHが通らない
-
"~/.bashrc"編集だと、vscode側のC#拡張期のPATHに適用されなかった
-
"~/.profile"編集 → ラズパイ再起動でPATHに適用された
-
"~/.bashrc"の設定が悪いのではなく、再起動していなかったのが問題かも
-
~/.profileメモ
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
export PATH="$PATH:/home/pi/.dotnet/"
export DOTNET_ROOT="$HOME/.dotnet/"
※DOTNET_ROOTが指定されていないとデバッグ時のパスがないため、起動できないから必要
証明書の問題
- https設定でデバッグしようとすると、証明書エラーとなる
- 現状http設定でデバッグする