IntelliSense в .fsx и динамически загружаемых сборках

При динамической ссылке на сборки в .fsx с использованием #I и #r , VS выделяет следующие варианты использования импортированных типов и пишет «Пространство имен или модуль "XXX" не определено ". Это нормально?

Например, в следующем коде

#I @".\Tools\FAKE"
#r "FakeLib.dll"

open Fake

Target "Hello" (fun _ -> trace "hello!")

Run "Hello"

VS выделяет Fake и говорит: «Пространство имен или модуль 'Fake' не определено», а также выделяет Target и ] Выполните . У меня эта проблема в VS 2010 SP1 и в VS 11 CTP. Эта проблема делает написание сценариев F # немного сложнее, чем могло бы быть.

Кстати, IntelliSence для «общих» типов работает хорошо. FakeLib.dll и FakeLib.xml находятся в каталоге . \ Tools \ FAKE . Код работает хорошо.

Обновление 1 Вот скриншот ситуации. Вы можете видеть, что VS правильно разрешает сборку FakeLib (во всплывающей подсказке), и в то же время Intellisense «видит» стандартные типы (всплывающая подсказка над Консоль ) класс.

enter image description here

Обновление 2 Я думаю, что что-то не так с IntelliSense на моей рабочей станции, потому что он (IntelliSense) ведет себя довольно странно. Когда запускаю VS и открываю.fsx, IntelliSense отказывается распознавать даже стандартные типы / классы, и он не подчеркивает FAKE классы, он ничего не делает. Но по прошествии некоторого времени и некоторых манипуляций с кодом IntelliSense начинает работать со стандартными типами и подчеркивает FAKE типы.

Более того, когда я создал аналогичный код на своей домашней рабочей станции, проблем не было, IntelliSense работает как надо.

6
задан Cœur 16 April 2017 в 08:02
поделиться