2017-09-01 44 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")。

如何加载或帮助F#交互式查找本机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\")

其他一些选项的解释