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