2017-09-01 10 views
2

Microsoft.TeamFoundationServer.ExtendedClient nugetパッケージで動作するようにしようとしたとき、私は次のエラーを取得する:F#対話形式でネイティブDLLをロードするにはどうすればよいですか?

System.DllNotFoundException: Unable to load DLL 'Microsoft.WITDataStore32.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E) 

のDLLのいずれかがパッケージに含まれているので、これが起こるには、ネイティブのDLLで、ロードするために、通常の方法を使用して参照することはできませんF#対話型のDLL(#r "dllname.dll")。

ネイティブDLLを読み込むには、どうすればよいですか?

答えて

3

必要があるすべてのことは、FSIプロセスはネイティブDLLを含むディレクトリ内のDLLを探していることを確認することです。直接参照する必要はありません。

これを達成するための一つの方法は、システムパスに追加することです:

http://christoph.ruegg.name/blog/loading-native-dlls-in-fsharp-interactive.html

Environment.SetEnvironmentVariable("Path", Environment.GetEnvironmentVariable("Path") + ";" + __SOURCE_DIRECTORY__ + @"\..\packages\Microsoft.TeamFoundationServer.ExtendedClient.15.112.1\lib\native\x86\")

他のいくつかのオプションはで説明されています

関連する問題