我正在使用VS2010,并已使用NuGet安装Async CTP (Version 3, Unofficial)。然后我复制了一些示例代码:
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在使用
async
和await
时没有给出任何错误(在安装软件包之前确实显示了错误),因此它看起来很有希望。但是,当我构建项目时,会遇到一些意想不到的语法错误。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
通过NuGet添加异步CTP(版本3,非官方)是否不足以实际能够编译代码?
我必须承认,我不完全知道我在这里做什么,只是想使一些演示代码正常工作。该演示解决方案通过NuGet自动安装了Async CTP,似乎表明我不需要做任何其他事情。
最佳答案
从NuGet page:
Visual Studio Async CTP Samples文件夹中的AsyncCtpLibrary.dll
换句话说,它似乎只是支持库,而不是编译器。
我建议您要么安装.NET 4.5(足以在命令行中运行),要么安装某个版本的Visual Studio2012。CTP中存在各种错误,最好使用完整版本。
关于c# - NuGet程序包Async CTP(版本3,非官方)在等待和异步时出现编译错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12691389/