VB2022

Last-modified: 2024-02-11 (日) 23:44:09
amazon.gif

 VB2022初期設定

  • COMの参照追加
    ソリューションエクスプローラー内で、プロジェクトを右クリック⇒追加⇒COM参照
  • exeファイルとDLLファイルをひとまとめにする方法
    1.「プロジェクト」から「NuGet パッケージの管理」をく
    2.Fody.Costura」を検索してインストール。「Fody」も一緒にインストールされる
    3.vbprojファイルを開く
    4.<Reference Include="mscorlib" />を追記
     <Reference Include="System" />の直前
    5.テキストエディタで開いて編集した

参考

  • 実行時間がかかる場合に例外処理から外す
.NET アプリケーションをデバッグ実行中に時間がかかる処理があり、以下のエラーが発生しました。
 ===============================================================
ContextSwitchDeadlock が検出されました。
Message: CLR は、COM コンテキスト 0x1af66748 から COM コンテキスト 0x1af66870 へ 60 秒で移行できませんでした。ターゲット コンテキストおよびアパートメントを所有するスレッドが、ポンプしない待機を行っているか、Windows のメッセージを表示しないで非常に長い実行操作を処理しているかのどちらかです。この状態は通常、パフォーマンスを低下させたり、アプリケーションが応答していない状態および増え続けるメモリ使用を導く可能性があります。この問題を回避するには、すべての Single Thread Apartment (STA) のスレッドが、CoWaitForMultipleHandles のようなポンプする待機プリミティブを使用するか、長い実行操作中に定期的にメッセージをポンプしなければなりません。
===============================================================
デバック⇒ウィンドウ⇒例外設定⇒「Managed Debugging Assistants」を展開し、「ContextSwitchDeadlock」の項目のチェックを外す。

 フォルダ設定

  • フォルダ作成すると読み取り専用になる(Win10以降、顕著に発生する現象)参考
'フォルダーが読み取り専用になるとファイルの属性も読み取りになることもあるため
'下記のコードを追加する。
Dim nowatrbt As FileAttribute '現在の属性
Dim nwattrbts As FileAttribute '新しい属性
nowatrbt = IO.File.GetAttributes("C:\test\testfile.txt") '現在の属性を取得
nwattrbts = nowatrbt And (Not FileAttribute.ReadOnly) '読み取り専用属性の解除
IO.File.SetAttributes("C:\test\testfile.txt", nwattrbts) '新しい属性をセット

 VB2022アドイン設定

  • OracleクライアントをインストールしないでOralceに接続する方法
    Oracle2022

 エラー対応

  • 「オブジェクト参照が必要です」エラーが出たときは?

参考

対策例

 'Dim result2 = OriginalClass.Add(1, 2) ' ←この行はコンパイルエラー
 ' BC30469 非共有メンバーを参照するには、オブジェクト参照が必要です。
 ' ↓オブジェクトを作り、そのオブジェクトに対して呼び出せばよい
 Dim objectOfOriginalClass = New OriginalClass()
 Dim result2a = objectOfOriginalClass.Add(1, 2)