Search code examples
c#visual-studio-2010nugetasync-ctp

NuGet package Async CTP (Version 3, Unofficial) compiliation error on await and async


I'm using VS2010 and used NuGet to install Async CTP (Version 3, Unofficial). Then I copied some sample code:

using System.Threading.Tasks;

namespace ConsoleApplication5AsyncCtp
{
    internal class Program
    {
        private static void Main(string[] args)
        {
        }

        public async Task<int> GetValue()
        {
            await TaskEx.Delay(100);
            return 13; // Return type is "int", not "Task<int>"
        }
    }
}

ReSharper doesn't give any errors on the use of async and await (it did show errors before I installed the package), so it looks promising. But when I build the project, I get some syntax errors which I don't expect.

Program.cs(15,32): error CS1003: Syntax error, '(' expected
Program.cs(15,40): error CS1001: Identifier expected
Program.cs(17,32): error CS1031: Type expected
Program.cs(21,1): error CS1022: Type or namespace definition, or end-of-file expected

Is adding Async CTP (Version 3, Unofficial) via NuGet not enough to actually be able to compile the code?

I must admit I don't know exactly what I'm doing here, was just trying to get some demo code to work. The demo solution automatically installs the Async CTP via NuGet and seems to indicate there's nothing more I have to do.


Solution

  • From the NuGet page:

    AsyncCtpLibrary.dll from Visual Studio Async CTP Samples folder

    In other words, it appears to be only the support library, not the compiler.

    I would suggest you install either just .NET 4.5 - enough to play around from the command line - or some edition of Visual Studio 2012. There are various bugs in the CTP - it's much better to use the full release.