1

AsyncCtpLibrary v.3 を追加しました。非同期 Web ページからサンプル コードを取得しました。それを TestFixture でラップして、いじってみました。

エラーが発生しました:理由は何ですか?

エラー 1 - クラス、構造体、またはインターフェイス メンバー宣言の無効なトークン 'void'

エラー 2 - ; 期待される

コード:

 [TestFixture]
public class AsyncTests
{
    [Test]
    public async void AsyncRunCpu()
    {
        Console.WriteLine("On the UI thread.");

        int result = await TaskEx.Run(
            () =>
                {
                    Console.WriteLine("Starting CPU-intensive work on background thread...");
                    int work = DoCpuIntensiveWork();
                    Console.WriteLine("Done with CPU-intensive work!");
                    return work;
                });

        Console.WriteLine("Back on the UI thread.  Result is {0}.", result);
    }

    public int DoCpuIntensiveWork()
    {
        // Simulate some CPU-bound work on the background thread:
        Thread.Sleep(5000);
        return 123;
    }
}
4

2 に答える 2

4

単純に .dll をプロジェクトに追加して動作させることはできません。Async CTP は C# 言語の構文を拡張します。必要なランタイム アセンブリが存在する場合でも、「通常の」コンパイラは新しいキーワードを理解できません。公式インストーラーを使用してインストールする必要があります。(注: 最初に最後のサービス パック以降のすべての Visual Studio 更新プログラムをアンインストールしないと、インストールが成功しません。後で更新プログラムを再インストールできます。)

于 2012-03-02T20:37:32.817 に答える