8

プロジェクトをポータブル クラス ライブラリに変換した後、xna を使用して xbox360 を対象とする F# コードがコンパイルされません。

let thread = Thread(fun () ->
    setAffinity()

スレッドに赤い波線が表示され、エラー メッセージに次のように表示される

エラー 1 この型にはアクセス可能なオブジェクト コンストラクターがありません

案の定、オブジェクト エクスプローラーで mscorlib を見ると、型にコンストラクターがありません。しかし、MSDNによると、コンストラクターは xbox と PCL に存在します。

編集: C# PCL で試しましたが、同じエラーが発生しました。

4

3 に答える 3

7

スレッドの作成は移植性がありません。リンクが間違っています。PCL については触れていません。

これはポータブル クラス ライブラリを使用するコストであり、可能なターゲットの少なくとも 1 つによってサポートされていないすべてのものを差し引いた後に残るものです。PCLはかなり小さいです。最大の問題は、まだサポート対象として言及されていない WinRT (別名 Metro) です。厳しく制限された API があります。

代わりに ThreadPool.QueueUserWorkItem() を検討してください。Task はいつか PCL でサポートされると思います。現在進行中の作業です。

于 2012-04-28T13:44:25.293 に答える
1

glibではありませんが、これはバグのように聞こえます。それが私が進める方法です。Microsoftdotcomのfsbugsに送信してください

于 2012-04-28T13:06:29.887 に答える
0

.NET 4.0、SL5、Phone 7.5 で非同期をサポートするベータ リリースがあります。このスレッドの David Kean の投稿を参照してください。

Async CTP をポータブル ライブラリで使用できますか

そしてBCLブログのこの投稿:

http://blogs.msdn.com/b/bclteam/archive/2012/10/22/using-async-await-without-net-framework-4-5.aspx

于 2012-11-14T10:50:53.797 に答える