Я пытаюсь использовать библиотеку диаграмм FSharp из командлета powershell (также написанный в F #), но я получаю MissingMethodException для GenericChart.Метод не найден: GenericChart при использовании FSharp.Charting from powershell cmdlet
Образец кода графиков:
open FSharp.Charting
let testchart() =
let foo = DataAccessLayer.GetTestData()
Chart.Line(foo) |> Chart.Show
Функция testchart вызывается из метода ProcessRecord() на производном классе PSCmdlet. Оба кода диаграмм и командлетов находятся в одном и том же решении, хотя разные проекты. Решение компилируется без ошибок. Код диаграммы работает в интерактивном режиме без ошибок. Но когда я пытаюсь выполнить командлет powershell, я получаю исключение исключаемого метода. Это происходит при использовании VS2013 и VS2015.
Согласно документации GenericChart должно быть в файле FSharp.Charting.dll. Я подтвердил, что dll находится в том же каталоге, что и код модуля powershell.
Опять же, в VS все работы intellisense, все компилируется и работает в интерактивном режиме.
Любые предложения очень ценятся.
Исключительное исключение метода - это общая проблема, регулярно встречающаяся здесь, в теге F #. Он настолько популярен, что имеет свой собственный [tag] (http://stackoverflow.com/questions/tagged/missingmethodexception). Вы искали предыдущий пост? Если да, то что вы попробовали что-либо помимо обеспечения его работы с F # Interactive, но не 'cmdlet'? –
Возможный дубликат: [Почему я получаю MissingMethodException при вызове кода F # из PowerShell?] (Http://stackoverflow.com/questions/33696325/why-am-i-getting-a-missingmethodexception-when-calling-f- code-from-powershell) –
@Coder, предыдущее сообщение вызывало функцию непосредственно из powershell (т. е. вызывает f # из кода powershell). Я вызываю F # из кода F #, размещенного в среде powershell. Я не думал, что это одно и то же, хотя, возможно, это имеет ту же причину? – eknutsen