Introduction
ネイティブのライブラリが読み込まれず、System.DllNotFoundException: Unable to load DLL 'XXXX': 指定されたモジュールが見つかりません。 (Exception from HRESULT: 0x8007007E)
で困っていたので。
画像ファイルとかはきちんとこの辺り意識していたのだが、dll についてなぜか失念していたのでメモ。
当たり前と言えば当たり前のことなので少し恥ずかしい。
Conclusion
コマンド | RunWorkingDirectory の設定 | カレントディレクトリ |
---|---|---|
dotnet run (–project なし) | なし | コマンドを実行したディレクトリ |
dotnet run (–project あり) | なし | --project で指定したプロジェクトファイルがある場所 |
dotnet run (–project なし) | あり | RunWorkingDirectory で指定したディレクトリ |
dotnet run (–project あり) | あり | RunWorkingDirectory で指定したディレクトリ |
dotnet test | なし ※ | 出力先 (bin\Release\netcoreapp2.0 とか) |
dotnet test | あり ※ | 出力先 (bin\Release\netcoreapp2.0 とか) |
dotnet |
- | コマンドを実行したディレクトリ |
※ dotnet test
に関して、RunWorkingDirectory が有効かどうかのドキュメントがなかったので実験した
下記は関係ありそうな issue