为什么在调用自定义库时会收到System.MissingMethodException?

时间:2015-12-11 01:24:05

标签: dll f# missingmethodexception

我有一个名为MyLib的库项​​目,其中我有一个名为Extensions的名称空间,其中有一个名为Extension1的模块,其中有一个名为{{1}的方法类型为ext1Method1

在库项目的解决方案中,有一个名为string -> string的可执行控制台项目。在Test内,我可以致电Test,但效果很好。

我创建了一个名为MyLib.Extensions.Extension1.ext1Method1 str的完全独立的解决方案,并在NewSol1中包含对MyLib.dll的引用。在NewSol1中有一行

NewSol1

解决方案printfn "%s" (MyLib.Extensions.Extension1.ext1Method1 "Hello, World") 构建时没有任何错误。但是当我运行可执行文件时,我收到以下错误:

NewSol1

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:3)

我在这里发布了一个简洁的答案,即使ildjarn提供的链接回答了问题:要解决问题,请确保两个解决方案中的Nuget包是相同的。

就我而言,该库使用了稍早版本的FSharp.Core。由于我可以自由地针对任何版本的FSharp.Core重新编译库,因此我选择更新库和使用者中的所有Nuget包。我通过右键单击库解决方案,选择Manage Nuget Packages for Solution...并确保所有软件包都是最新的来完成此操作。