2017-02-18 4 views
1

Я разрабатываю F # в Visual Studio кодекса, и когда я пытаюсь скомпилировать мой код с поддельными я получаю вышеуказанную ошибку:MSB3245: Не удалось разрешить эту ссылку (System.Drawing.Imaging)

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.

А затем длинный список «Учитывался <various filepaths>, но его не было». Включая мою папку .NET Framework и GAC, что странно. Я бы честно ожидали визуализация быть пространство имен объявлены в System.Drawing.dll, но компилятор кажется, даже не рассмотреть этот вариант ...

Я получаю одинаковые ошибки с System.Windows.Media, System.Windows.Media.Imaging и System.Windows.Media.IO. Возможно, связанный является тем фактом, что IntelliSense не собирание этих пространств имен либо, хотя делает найти System.Drawing.Imaging ...

ответ

1

Как это происходит, я понял мою проблему при написании его, но понял, Я мог бы также опубликовать его, если у кого-то другая проблема.

Корень проблемы в том, что >F#: Add Reference не работает, я имею в виду, если я ударил >F#: Add Reference><current project>>System.Drawing.Imaging (скажем), ничего особенного не кажется, происходит. Если кто-то сможет это решить и опубликует свой ответ, я соглашусь с ними и повышу его, потому что это настоящая проблема.

Чтобы обойти эту ошибку в VSCode, я вручную редактировал файл fsproj, но, похоже, я действительно не понимал, что делаю. По-видимому, он ищет явные DLL, когда даны <Reference> s в том формате, который я использовал, чего, конечно, не существует для .Imaging и тому подобного. Как только я удалил их, ошибки исчезли, не создавая новых ошибок, например, не распознавая Bitmap, как я и ожидал.

UPDATE: Проблема с Add Reference также была найдена: очевидно, Ionide не генерирует правильные команды Forge, когда имя пользователя имеет пробелы в нем, скажем, в Windows.

Смежные вопросы