f# - Intellisense 错误和 #I 与脚本文件

标签 f# visual-studio-2012

使用脚本文件时,Intellisense 和#I 与#r 的结合使用是否存在任何已知问题?

我注意到的是,如果我使用 #r 和完整路径引用程序集,我会得到智能感知。

如果我使用 #I 添加到我的路径而不是使用 #r 而不使用程序集的完整路径,我将无法获得该程序集中类型的智能感知。

这是一个已知的问题?

编辑:

这是示例。

这不会提供 Intellisense 而是运行。

#I @"C:\PathToAssembly"
#r "MyAssembly.dll"

open Some.NameSpace //<-- gives errors in intellisense (module not found)
                    // runs just fine when sending to fsi

下一个例子,everythign 工作正常。
#r @"C:\PathToAssembly\MyAssembly.dll"

open Some.NameSpace <-- no error in intellisense.

最佳答案

MS Connect 中有一个案例似乎是同样的问题:

http://connect.microsoft.com/VisualStudio/feedback/details/733523/f-3-0-beta-intellisense-issues-of-interactive-enviroment

它已被关闭为不可重现,但是原始创建者在解决方法部分发布了一些详细信息,表明它是由同一文件夹中的 FSharp.Core DLL 引起的。

您是否可能在此文件夹中也有 FSharp.Core?如果是这样的话;删除它并让它来自 GAC 可能会解决问题(尽管对我来说这听起来仍然是一个错误)。

关于f# - Intellisense 错误和 #I 与脚本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13882250/

相关文章:

asp.net - 如何在 F# 中制作使用连字符的 Controller ?

windows - Windows 下的核心转储?

c# - 在 Visual Studio 文本编辑器中删除垂直空格或新行

f# - async { ... AsyncAdd ... } 和 async { ... do AsyncAdd ... } 有什么区别?

sockets - 如何捕获SocketException

f# - 让绑定(bind)支持用双反引号括起来的标点符号,但类型不支持?

f# - F# 中 printfn 函数的返回类型到底是什么?

c++ - 如何在 C++ 中修改知道内存地址的对象?

c# - T4 模板不会随着构建而转换

visual-studio - #include <mapix.h>缺少Visual Studio 2012