1
Sep
2010

XPF and Reactive Extensions for .Net (Rx)

by David Wynne

Update 2010-09-20: As of Build 19 XPF uses version 1.0.2698.104 of Rx as the problem referred to below has been addressed.

image XPF uses Reactive Extensions for .Net (Rx) internally to handle user input and eventing.  If you’re developing on Windows Phone 7 everything will work just fine, Rx comes with the Phone assemblies.  If you’re working on the desktop, you’ll need to install Rx in order to use XPF in your solution.

As of Build 6, XPF uses version 1.0.2617.0 of Rx which is the latest “but one” release of Rx.  The latest build of Rx (1.0.2677.0) indirectly takes a dependency on System.Web which isn’t in the .Net 4.0 Client Profile.  If we were to use to that version it would require all Windows XNA applications built with XPF to target the full .Net 4.0 profile, which is not the default for XNA applications.

It looks like this maybe addressed in a future version of Rx, so we’ll move to the latest version as soon as this problem is addressed by the Rx team.

For now, to avoid confusion you’ll need to make sure you have version 1.0.2617.0 for .Net 4 of Rx installed (multiple versions can be installed side-by-side).  You can download it from the Rx Team Blog, or by using this direct link: http://download.microsoft.com/download/F/6/4/F64CA331-075C-4A2F-BD28-7161D765A0E8/Rx_Net4.msi

Thanks to @fahadsuhaib for pointing out we were using an older version in Build 5.