如何找到要明确引用的程序集的正确版本

corbyn3

我正在尝试在我的F#项目中使用NuGet的EikonDataAPI软件包。

这是我所做的

#r @"D:\Dropbox\code\FS foray2\ConsoleApplication1\packages\EikonDataAPI.0.4.3\lib\net45\EikonDataAPI.dll"
//successfully referred

open EikonDataAPI
//no error either

module tester =
    let eikon = Eikon.CreateDataAPI()
    eikon.SetAppKey("abcabcabcabcabc")
    |> ignore

运行代码时出现错误

type 'EikonDataAPI.Eikon' not found in assembly 'EikonDataAPI, Version=2.0.4.3, Culture=neutral, PublicKeyToken=null'. A possible cause may be a version incompatibility. You may need to explicitly reference the correct version of this assembly to allow all referenced components to use the correct version.

我使用的是DLL的net45(或net40)版本,没有任何问题(如Deedle.dll),但这使我抓狂了。

我也尝试将(#r)引用到lib \ netstandard2.0中的EikonDataAPI.dll,但是遇到了同样的问题

任何帮助将不胜感激谢谢

corbyn3

这是我最终使它工作的方式:

  1. 从GitHub克隆源代码
  2. 解压缩GitHub压缩文件。双击.csproj文件以使用Visual Studio 2019打开(我使用社区免费版)
  3. 右键单击该项目并管理Nuget包
  4. 更新“更新”选项卡中的所有软件包
  5. 右键单击packet.config并将其更改为包参考
  6. 建立解决方案
  7. 将EikonDataAPI.dll从bin文件夹复制并粘贴到我的F#项目\ Packages中的文件夹中
  8. 使用#r引用EikonDataAPI.dll
  9. 将bin文件夹中的所有其他.dll复制并粘贴到我选择的文件夹中(例如D:\ X)
  10. 将source_directory设置为D:\ X,以便F#Interactive知道从何处获取EikonDataAPI.dll的依赖项。

旁注:我很幸运,我的F#项目使用了最新版本的公共库(例如Deedle)。如果不是,则F#项目中的库和EikonDataAPI之间的版本冲突可能会引起问题

最后,非常感谢jirapongse-refinitiv提供的API。

感谢大家对我关于stackoverflow的其他问题的帮助!

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Xamarin Forms TelephonyManager,要引用的程序集

无法找到提供程序程序集“Microsoft.EntityFrameworkCore.SqlServer”。确保名称正确并且被项目引用

如何在 DNN Manifest 中正确引用程序集?

如何解决“找到的程序集的清单定义与程序集引用不匹配。” 错误?

找到的程序集的清单定义与程序集引用不匹配

程序集引用的“特定版本”属性在Visual Studio中如何工作?

如何找到我需要引用哪个程序集才能使用某个命名空间?

如何找到要开发的jQuery确切版本

如何从程序中找到JVM版本?

Azure DevOps版本无法加载引用的程序集

MSBuild错误:“无法解析此引用。无法找到程序集...”

通过#load引用程序集时,如何获取F#类型提供程序的正确解析文件夹?

如何获得执行程序集的版本?

如何跟踪程序集的多个版本?

如何获取程序集文件版本

如何检查程序集(dll)的版本?

我在使用的MVC程序集版本邮政版本上出错,高于我的项目引用的版本。我该如何解决?

如何访问引用的程序集的类型?

如何从执行程序集引用库?

如何正确找到应用程序的目录?

如何修复引用特定NuGet软件包提供的dll版本的托管C ++程序集(VS2017)

程序集XXX具有比引用的程序集XXX更高的版本

C#-.net核心-具有比引用程序集更高版本的程序集

找到的程序集的清单定义与程序集引用不匹配:HRESULT的异常:0x80131040

CrmSvcUtil:找到的程序集的清单定义与程序集引用不匹配

尽管具有程序集重定向并加载正确的版本,但程序集不匹配

如何找到我的 docker-compose 的正确版本

如何在Kubernetes中找到正确的api版本?

如何在Windows上帮助Tox找到正确版本的python?