Open8

ラズパイ - C#開発

kotaprojkotaproj

トラブルメモ

visual studio使用時、usingが認識しない

  • 生成したファイルをcsで作らないと、"ビルドアクションがなし"となる
    • この場合、プロパティを明示的にC#コンパイラに変える必要がある
kotaprojkotaproj

visual studio - vscodeキーボードでよく使うショートカットメモ

  • 通常で効くものと効かないものがあるため、意図したものを記載する
操作 内容 note
ctrl + d 選択範囲と同じものを選択 マルチカーソル
alt + ↑/↓ 行の移動 -
ctrl + c 選択範囲を小文字 -
ctrl + / 選択行をコメント -
kotaprojkotaproj

razor pagesメモ

  • repository pattern

ジェネリックパラメータがはいってこない


kotaprojkotaproj

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

Add-Migration "Adding Identity" -Context "AuthDbContext"
Update-Database -Context "AuthDbContext"



Program.cs
builder.Services.AddIdentity<IdentityUser, IdentityRole>()
.AddEntityFrameworkStores<AuthDbContext>();
app.UseAuthentication();

https://github.com/sameer8saini/Bloggie

https://github.com/sameer8saini/Bloggie

kotaprojkotaproj

トラブルメモ

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のパッケージが入っていないため
kotaprojkotaproj

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 拡張子)を選択して [開く] をクリックします。
kotaprojkotaproj

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設定でデバッグする