2016-06-06 7 views
3

Ich versuche, die FSharp-Charting-Bibliothek von einem Powershell-Cmdlet (auch in F # geschrieben), aber ich bekomme eine MissingMethodException für GenericChart.Methode nicht gefunden: GenericChart bei Verwendung von FSharp.Charting von Powershell-Cmdlet

Die Probe des Diagramm Code:

open FSharp.Charting 
let testchart() = 
    let foo = DataAccessLayer.GetTestData() 
    Chart.Line(foo) |> Chart.Show 

Die Testchart Funktion aus der ProcessRecord() Methode auf der PSCmdlet abgeleitete Klasse genannt wird. Sowohl der Diagramm- als auch der Cmdlet-Code befinden sich in derselben Lösung, jedoch in unterschiedlichen Projekten. Die Lösung wird ohne Fehler kompiliert. Der Diagrammcode wird ohne Fehler interaktiv ausgeführt. Aber wenn ich versuche, das Powershell-Cmdlet auszuführen, erhalte ich die fehlende Methodenausnahme. Dies passiert bei Verwendung von VS2013 und VS2015.

Entsprechend der Dokumentation sollte GenericChart in der FSharp.Charting.dll sein. Ich habe bestätigt, dass sich die DLL im selben Verzeichnis wie der Powershell-Modulcode befindet.

Auch in VS alle Intellisense funktioniert, alles kompiliert und arbeitet in interaktiven.

Alle Vorschläge werden sehr geschätzt.

+1

Fehlende Methodenausnahme ist ein häufiges Problem, das hier regelmäßig auf dem F # -Tag beantwortet wird. Es ist so beliebt, dass es eine eigene [tag] (http://stackoverflow.com/questions/tagged/missingmethodexception) hat. Haben Sie den vorherigen Beitrag gesucht? Wenn ja, was haben Sie versucht, abgesehen davon, dass es mit F # Interactive funktioniert, aber nicht mit dem Cmdlet? –

+0

Mögliches Duplikat: [Warum erhalte ich eine MissingMethodException beim Aufrufen von F # -Code von PowerShell?] (Http://stackoverflow.com/questions/33696325/why-am-i-getting-a-missingmethodexception-when-calling-f- code-from-powershell) –

+0

@Coder, Vorheriger Beitrag war beim Aufruf einer Funktion direkt von Powershell (dh Aufruf von f # aus Powershell-Code) Ich rufe F # von F # -Code in Powershell-Umgebung gehostet. Ich dachte nicht, dass es dasselbe ist, obwohl es vielleicht die gleiche Ursache hat? – eknutsen

Antwort

0

Dieses Problem liegt an einer veralteten Kopie der Bibliotheken. Erstellen Sie von Grund auf mit den neuesten F # -Bibliotheken neu und es wird gelöscht.

Ich hatte genau die gleiche Fehlermeldung und damit behoben.

Verwandte Themen