2012-01-16 7 views
2

私の質問は簡単です。重いグーグル後、私は私が反応性拡張とそのインストールディレクトリからSystem.Threading.dllバージョンを使用して.NET 3.5プロジェクトでConcurrentDictionaryを使用することができることを学びました。まず第一に、System.Threading.dllはなく、Reactive Extensions .NET 3.5サブディレクトリにはSystem.Reactive.Windows.Threadingしかありません。 System.ReactiveまたはSystem.Reactive.Windows.Threadingへの参照を追加するか、前述の.NET 3.5からの参照をConcurrentDictionaryクラスに渡すことはできません。また、System.Collections.Concurrent名前空間も与えません。 Reactive Extensions SDKの古いバージョンをダウンロードしましたが、私が探していたものが見つかりましたが、私の質問は誰かがReactive Extensionsの実際のリリースでConcurrentDictionaryバックポートに何が起こったか知っていますか?不足している。私は合理的な答えや答えを見つけることができませんでした。Reactive ExtensionsのConcurrentDictionaryはどこですか?.NET 3.5

+0

これはあなたに使用であるかもしれない:[?なぜWindowsの\アセンブリから欠落していることがありますSystem.Threading.dll] [1] [1]:http://stackoverflow.com/questions/ 3405662/why-might-system-threading-dll-be-windows-assembly –

+0

はい、この投稿を見ました。私の場合はすべて正常ですが、私はdllの正しいRxバージョンを追加し、参照リストに表示されます。しかし、Reactive Extensionsのすべてのdllで逆コンパイラを使用しても、ConcurrentDictionaryの兆候はありません。実際のバージョンでは古いバージョンは問題ありませんが、何が起こったのか知りたいのですが、古いバージョンRxの? – Tobiasz

+1

RX Extensionsチームは、同時データ構造が削除された理由を示していません。ここをクリックしてください(まだ行っていない場合):http://social.msdn.microsoft.com/Forums/en-US/rx/thread/527002a3-18af-4eda-8e35-760ca0006b98#11b85c5b-f966-4b2a-9a94 -b5d1c41394b7。私はあなたが見つけるためにチームに直接頼む必要があると思います。 NET 4.0、Silverlight 4、およびWindows Phone 7でサポートされているRX拡張機能と関係があると思われます。 –

答えて

8

RPL for .NET 3.5でTPLのバックポートを出荷しなくなりました。同時実行性の分野でTPLと関連する技術革新を使用する場合は、.NET 4(またはそれ以降)を使用して開始してください。 Rx自体はTPL機能を必要としないため、TPLを持ち歩く必要はありませんでした。

このようなバックポートを維持することに関連するサポート性、メンテナンス、および品質に関して、あまりにも多くの合併症があります。たとえば、古いCLRバージョンでのTPLのパフォーマンス特性は、数年前にTPLの最初のCTPをはるかに超えてテストされたことはありません。

+0

詳細で有能な回答をいただきありがとうございます。 – Tobiasz

+0

http://www.nuget.org/packages/TaskParallelLibrary – JasonPlutext

関連する問題