【发布时间】:2016-11-28 14:24:37
【问题描述】:
在我的项目中添加这个方法(我生命中的第一次 C# async 关键字测试)后,我收到以下错误,为什么?
public async Task<Member> AddOrUpdate(DownloadFormModel model)
{
IMailChimpManager mailChimpManager = new MailChimpManager(ConfigurationManager.AppSettings["mailChimpKey"]);
Member member = new Member {EmailAddress = model.Email, Status = Status.Subscribed};
member.MergeFields.Add("NAME", model.Name);
return (await mailChimpManager.Members.AddOrUpdateAsync(ConfigurationManager.AppSettings["mailChimpDownloadListID"], member));
}
编译后 VStudio 2015 内部出错:
缺少编译器所需的成员“System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1.AwaitOnCompleted”
我的项目是一个面向 .NET Framework 4.5(刚从 4.0 升级)的 ASP.NET MVC 4,我正在尝试在其中集成 MailChimp.NET v3。
谢谢。
编辑: 在 VStudio 2015 中创建了一个全新的 MVC WebApplication .NET 4.5 项目,并且相同的方法编译没有错误。我应该检查什么?
【问题讨论】:
-
您是否有
Microsoft.Bcl.Asyncnuget 包,.NET 4.5 不需要它并且可能会导致问题? -
添加了
Microsoft.Blc和Microsoft.Blc.Build,但没有成功。Microsoft.Blc.Async未列在 VStudio NuGet 管理器中。 -
我的意思是,当您以 .NET 4.5 为目标时,您不应该需要任何这些。
-
好吧,这是你第一次使用异步,我会启动一个新的控制台应用程序并尝试编写一个等待
Task.Delay结果的异步方法,因为例子。在开始使用 MailChimp 之前检查 that 是否有效。 -
嗯,你应该能够很容易地找到它:依次单独尝试每个。 (控制台应用程序 + Mailchimp,没有 Mailchimp 的 ASP.NET v4 应用程序。)
标签: c# .net asp.net-mvc async-await mailchimp