Ich erhalte den folgenden Kompilierungsfehler von ccrewrite bei der Verwendung von Code Contracts 1.4.51019.0 in VS2012 unter Windows 7 x64: "Die Methode oder Operation ist nicht implementiert. " Code Contracts + Async in .NET 4.5: "Die Methode oder der Vorgang ist nicht implementiert"
Es scheint, durch eine Kombination von Eigenschaftenaccessoren und die Verwendung von async
Methoden, die eine innere await
fehlt verursacht werden.
Schritte Fortpflanzung:
eine neue Klassenbibliothek erstellen mit 'Voll' Runtime Vertrag Prüfungen aktiviert:
namespace CodeContractsAsyncBug
{
using System.Threading.Tasks;
public class Service
{
// Offending method!
public async Task ProcessAsync(Entity entity)
{
var flag = entity.Flag;
}
}
public class Entity
{
public bool Flag { get; set; }
}
}
Hat jemand erlebt?
Das Entfernen des 'async' Modifiers behebt das Problem, nehme ich an? –
Ja (außer Sie müssten dann eine Aufgabe zurückgeben). –
Das ist Mike Barnetts Projekt. Er mag es, E-Mails zu bekommen, also zögern Sie nicht, ihn über diesen Fehler zu informieren. mbarnett _at_ microsoft _dot_ com –