【发布时间】:2016-10-06 02:26:55
【问题描述】:
我正在尝试使用 powershell cmdlet(也是用 F# 编写)中的 FSharp 图表库,但我得到了 GenericChart 的 MissingMethodException。
图表代码示例:
open FSharp.Charting
let testchart() =
let foo = DataAccessLayer.GetTestData()
Chart.Line(foo) |> Chart.Show
从 PSCmdlet 派生类的 ProcessRecord() 方法调用 testchart 函数。 图表和 cmdlet 代码都在同一个解决方案中,但项目不同。解决方案编译没有错误。图表代码以交互方式运行,没有错误。但是当我尝试执行 powershell cmdlet 时,我得到了缺少的方法异常。 使用 VS2013 和 VS2015 时会发生这种情况。
根据文档 GenericChart 应该在 FSharp.Charting.dll 中。我确认 dll 与 powershell 模块代码位于同一目录中。
同样,在 VS 中,所有智能感知都可以工作,一切都可以编译并以交互方式工作。
非常感谢任何建议。
【问题讨论】:
-
缺少方法异常是 F# 标签上定期回答的常见问题。它是如此受欢迎,它有自己的tag。你搜索过以前的帖子吗?如果是这样,除了确保它适用于 F# Interactive 但不适用于
cmdlet之外,您还做了什么尝试? -
@Coder,上一篇文章是关于直接从 powershell 调用函数(即从 powershell 代码调用 f#)我正在从托管在 powershell 环境中的 F# 代码调用 F#。我不认为它是一样的,虽然它可能有相同的原因?
-
我不使用
cmdlet,所以我不确定,这就是为什么我只在评论中添加可能并且没有将其标记为重复。它主要是为了帮助其他知识渊博的人找到它,然后确定它是否是重复的。感谢您的反馈,应该可以帮助其他人。
标签: powershell f# cmdlets missingmethodexception