This is probably not a bug. If you'll select the "<Note>" item in the completion list, it should show a tool tip with some additional info, explaining why it didn't show anything useful. Usually, this happens if you're referencing some library (e.g. System.Windows.Forms) that references some other library which isn't referenced in your project (e.g. System.Drawing). For example, "Form" contains properties of types from "System.Drawing", so F# IntelliSense is confused, because it doesn't know the types.

Hope this helps!
Tomas

By on 2/3/2010 4:54 PM ()

Except there is no completion list.  Hitting ctrl-space immediately replaces the preceeding word with <Note>.  No list appears, just instant text replacement.

Thanks to you and mail I got from Microsoft, though, it was easy enough to solve. I just had a weird set of references in the project. I hadn't cared, since I'm not actually building in Visual Studio (I'm using MonoDevelop/MonoTouch for the compile, VS is just an editor.)

By on 2/4/2010 12:04 AM ()

Can you please post solution here?

By on 2/11/2010 3:27 AM ()

Can you please post solution here?

Sorry, I don't think I can recover the exact set of dlls that caused the problem - it was just test code, not anything useful. I think if you follow the instructions about looking in the output window that might give you enough information to fix it if you're seeing the same thing.

Also, the problem may not exist in the new version that came out yesterday.

By on 2/11/2010 11:02 AM ()

Yep. It seems with new version code completion start working everywhere.

By on 2/16/2010 4:42 AM ()

Minimal project to reproduce problem with <Note> looks like:

File Program.fs:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
module Pure

[<EntryPoint>]


let main (args: string []) =


    let conn = new System.Data.SqlClient.SqlConnection("")


    conn.Open()


    (0)

Build output:
------ Build started: Project: Pure, Configuration: Debug Any CPU ------
C:\Program Files (x86)\FSharp-1.9.9.9\\bin\fsc.exe -o:obj\Debug\Pure.exe -g --debug:full --noframework --define:DEBUG --define:TRACE --optimize- --tailcalls- -r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.Data.dll -r:C:\Windows\Microsoft.NET\Framework\v2.0.50727\System.dll --target:exe --warn:3 --warnaserror:76 --vserrors --utf8output --fullpaths --flaterrors Program.fs
========== Build: 1 succeeded or up-to-date, 0 failed, 0 skipped ==========

Project reference 'System' and 'System.Data' assemblies.

Typing "conn." will result in completion list with one element "<Note>" appears

By on 2/24/2010 5:32 AM ()

If you select the Note it will tell you to add a reference to System.Transactions, after which you'll get the intellisense. If you look at the EnlistDistributedTransaction method, F# intellisense says that a reference to System.EnterpriseServices is needed. Add that and then you get intellisense for that method, and can call

conn.EnlistDistributedTransaction(null)

without issue. In contrast, C# gives you the intellisense on "conn." immediately, but then if you try to call

conn.EnlistDistributedTransaction(null);

you get a weird error saying that 'null' could not be converted to System.EnterpriseServices.ITransaction, even though it can, you just are missing the assembly reference to make it happen.

By on 2/24/2010 8:20 AM ()

Thanks for help!

Never waited enough for tool tip to appear.

By on 2/25/2010 2:19 AM ()

Try compiling your app and looking at the error in the "Output" window. It may/should indicate an assembly reference you need to add.

By on 2/11/2010 9:19 AM ()
IntelliFactory Offices Copyright (c) 2011-2012 IntelliFactory. All rights reserved.
Home | Products | Consulting | Trainings | Blogs | Jobs | Contact Us | Terms of Use | Privacy Policy | Cookie Policy
Built with WebSharper