views:

348

answers:

3

Been searching but the only thing I found was http://evain.net/blog/articles/2009/07/30/rebasing-system-reactive-to-the-net-clr which I got to work, but it feels like there should be a simpler way, specially since rx was first release back in mid 09.

+3  A: 

You can now download it for .NET 3.5SP1 and .NET 4, so I wouldn't be at al surprised if it just worked against recent releases of Mono - no Silverlight doohickies required at all.

Having said that, I haven't tried it at all against Mono :)

Jon Skeet
I'm using monodevelop 2.2 and simply trying to build a sample code failed with Error CS0103: The name `Observable' does not exist in the current context (CS0103). Thats why I tried the above mentioned link.
Kristofer
@Kristofer: Do you have "using System.Linq;" in your using directives, and a reference to System.Reactive.dll and System.CoreEx.dll?
Jon Skeet
System.Linq exists and is in my using directives. System.Reactive and System.CoreEx are on the other hand unavailable when trying to find them using "add reference" so I guess they are still not supported in the current mono version.
Kristofer
@Krisofer: No, they won't be part of the framework - you'll need to download the installer from Microsoft, and then you'll have the references. Note that Rx isn't even part of .NET itself yet. Check the licence for legality, of course...
Jon Skeet
@Jon: You are absolutely right, the files didn't need to be "rebased", but I had to separately download a mono version of WindowsBase.dll in order to make everything work(ToObservable, Interval ...).
Kristofer
+1  A: 

I've been playing around with it for a while and I've found that the .NET 3.5 SP1 binaries from Microsoft work on Mono 2.6.x. However, as of yet I haven't been able to get the .NET 4 binaries to work. It seems they expect IObserver/IObservable (possibly other stuff?) to be present in mscorlib.dll, which is not the case in Mono 2.6.x. Unfortunately this means no covariant/contravariant versions of IObservable/IObserver under 2.6.x.

Haven't yet dug through Mono's svn to see if I could get it working that way.

bvanderveen
A: 

Last time I tried, it did not work since one of the assemblies referenced either a native win32 dll or some framework dll not implemented by mono. However, there has been at least one release of Rx since I tried.

Markus Johnsson