Visual Studio 2008 で Windows 7 を使用しています。
P/Invoke を使用してネイティブ DLL を呼び出す .NET アセンブリがあります。さまざまな呼び出しを行ってアセンブリをテストする Visual Studio ソリューションで、別の .NET 単体テスト プロジェクトをセットアップしました。ただし、単体テストがアセンブリへの呼び出しを行い、アセンブリが P/Invoke を使用して呼び出しを行うと、ネイティブ DLL が見つかりません。
スタンドアロンの .NET コンソール アプリケーションを作成する場合、問題はありません。アセンブリは P/Invoke を使用して、DLL を正常に見つけることができます。
アセンブリを使用する前に、DLL の絶対パスを指定して LoadLibrary を呼び出すことで、単体テストを機能させることができます。ただし、このアプローチは見苦しく、絶対パスが必要です。これは、他のユーザーにとって問題となります。
要するに、私の質問は、Visual Studio 単体テストの実行時に使用されている DLL 検索パスを指定または修正するにはどうすればよいですか?
どんな助けでも大歓迎です。
よろしく、ダン