2017-02-18 2 views
1

ich F # in Visual Studio-Code bin zu entwickeln, und wenn ich versuche, meinen Code mit FAKE zu kompilieren ich die obige Fehlermeldung erhalten:MSB3245: Könnte diese Referenz (System.Drawing.Imaging) nicht lösen

warning MSB3245: Could not resolve this reference. Could not locate the assembly "System.Drawing.Imaging". Check to make sure the assembly exists on disk. If this reference is required by your code, you may get compilation errors.

Und dann eine lange Liste von "Considered <various filepaths>, aber es gab nicht." Einschließlich meines .NET Framework-Ordners und des GAC, was seltsam ist. Ich würde ehrlich erwarten Imaging ein Namespace in System.Drawing.dll deklariert werden, aber der Compiler nicht einmal schien es, diese Option zu prüfen ...

Ich bin immer identisch Fehler mit System.Windows.Media, System.Windows.Media.Imaging und System.Windows.Media.IO. Möglicherweise im Zusammenhang ist die Tatsache, dass IntelliSense nicht diese Namensräume entweder verwarnt, obwohl es tut System.Drawing.Imaging finden ...

Antwort

1

Wie es passiert, dachte ich, mein Problem, während es zu schreiben, aber dachte, Ich könnte es genauso gut posten, falls jemand anderes das gleiche Problem hat.

Das eigentliche Problem ist, dass >F#: Add Reference nicht funktioniert, und damit meine ich, wenn ich >F#: Add Reference Hit><current project>>System.Drawing.Imaging (sagen wir), nichts Besonderes scheint zu passieren. Wenn jemand das lösen kann und ihre Antwort posten kann, werde ich ihre akzeptieren und sie verbessern, denn das ist das eigentliche Problem.

Um diesen Fehler in VSCode zu umgehen, habe ich meine fsproj Datei manuell bearbeitet, aber es scheint, dass ich nicht wirklich verstanden habe, was ich tat. Anscheinend sucht es nach expliziten DLLs, wenn <Reference> s in dem Format angegeben wird, das ich verwendete, das natürlich nicht für .Imaging und dergleichen existiert. Sobald ich diese entfernte, gingen die Fehler weg, ohne neue Fehler zu verursachen, zum Beispiel, Bitmap nicht zu erkennen, wie ich erwartet hatte.

UPDATE: Das Problem mit Add Reference wurde nun ebenfalls gefunden: anscheinend erzeugt Ionide keine korrekten Forge-Befehle, wenn der Benutzername Leerzeichen enthält, beispielsweise in Windows.

Verwandte Themen