2011-03-01 32 views
14

Questo potrebbe sembrare una domanda stupida, ma ho scaricato l'Extensions for .NET reattivi da qui:
http://msdn.microsoft.com/en-us/devlabs/ee794896.aspxDove si trova System.CoreEx.dll per Rx.NET

Questo semplice esempio mi sta dando un errore di generazione :

var test = new[] { 1, 2, 4, 5 }; 
test.ToObservable().Subscribe(Console.WriteLine); 

il compilatore dice:

Error 2 The type 'System.Concurrency.IScheduler' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.CoreEx, Version=1.0.2856.104, Culture=neutral, PublicKeyToken=31bf3856ad364e35'. C:\dev\test\RxTests.cs 67 13 Test

System.CoreEx non è sulla stessa lista di assemblee come era System.Reactive ... qualche indizio?

+1

È mostrato in 1:07 in questo video introduttivo: http://channel9.msdn.com/blogs/j.van.gogh/writing-your-first-rx-application –

+1

Grazie Hans. A malapena immagino che una breve menzione in un video introduttivo sia una buona documentazione. Almeno i motori di ricerca ora possono trovare questo post SO per i futuri programmatori reattivi :-) –

+1

Inoltre, appena scoperto, anche molti codici Rx linq-ish non vengono compilati senza 'using System.Reactive.Linq;' superiore! – gideon

risposta

12

Nella versione più recente di Rx, System.CoreEx.dll è stato rimosso e il contenuto è stato unito a System.Reactive.dll. Vedi le note di rilascio per altre modifiche.

+0

grazie per aver aggiornato questa discussione con gli ultimi dettagli :-) –

3

Fa parte del pacchetto reattivo (è lo stesso numero di versione di System.Reactive).

Sono sorpreso che non sia nella lista di riferimenti .NET; lo puoi trovare in C: \ Programmi \ Microsoft Cloud Programmability \ Reactive Extensions, o dovrebbe essere anche nel GAC.

+0

? sì, era così ... non pensavo di guardare in quella cartella :-) ma sì, non è nella lista di riferimento, né è nel GAC. Grazie! –

+0

Il mio era in Program Files (x86) a proposito – Thomas

1

Ho avuto lo stesso. Ho cercato l'unità di sistema, ma non system.coreEx.dll. Quindi ho provato a installarlo tramite VS-extention NuGet. Questo ha fatto il lavoro per me.

+0

Nell'ultima versione di Rx, System.CoreEx.dll è stato rimosso e consolidato in System.Reactive.dll. Penso che il pacchetto NuGet sia probabilmente una versione precedente. –

1

utilizzare Gestisci pacchetto NuGet e cerca e installa System.Reactive. ottenere il percorso per System.Reactive.dll E ci troverete

lo System.CoreEx.dll e System.Interactive.dll che ora è possibile fare riferimento pure.