Kann nicht in der Portable Class Library für Win 8 und Win Phone 8 erwarten

8

Ich versuche, in Visual Studio 2012 eine Portable-Klassenbibliothek für eine Windows 8 Store-App und eine Windows Phone 8-App zu erstellen.

Ich erhalte den folgenden Fehler:

  

'erwarten' erfordert den Typ   'Windows.Foundation.IAsyncOperation'   habe eine geeignete GetAwaiter-Methode. Vermissen Sie eine Verwendungsrichtlinie?   für 'System'?

An dieser Codezeile:

%Vor%

Meine portable Klassenbibliothek ist auf .NET Framework 4.5, Windows Phone 8 und .NET für Windows Store-Apps ausgerichtet.

Ich erhalte diesen Fehler für diese Codezeile in einem reinen Windows Phone 8-Projekt nicht, und ich bekomme ihn auch nicht in einer Windows Store-App, daher verstehe ich nicht, warum er in meinem Programm nicht funktioniert PCL.

Der GetAwaiter ist eine Erweiterungsmethode in der Klasse WindowsRuntimeSystemExtensions, die sich in System.Runtime.WindowsRuntime.dll befindet. Mithilfe des Objektbrowsers kann ich sehen, dass diese DLL im Komponentensatz .NET für Windows Store-Apps und im Windows Phone 8 -Komponentensatz verfügbar ist, nicht jedoch im .NET Portable Subset . Ich verstehe einfach nicht, warum es nicht im Portable Subset wäre, wenn es auf beiden Plattformen verfügbar wäre.

    
Harry Len 15.12.2012, 22:25
quelle

2 Antworten

3

Sie benötigen das Async-Zielpaket in NuGet hier für async / host, um für diese Zielkombination zu arbeiten.

UPDATE:

Probieren Sie dieses (Nonsense-) Code-Snippet aus, um zu überprüfen, ob es async / await korrekt verwendet.

%Vor%

Aber selbst wenn Sie das erste Problem von async/await nicht erreicht haben, ist die Package API, die Sie aufrufen, nicht in der PCL verfügbar.

    
Paul Annetts 15.12.2012, 23:06
quelle
1
  

Ich verstehe einfach nicht, warum es nicht im Portable Subset wäre, wenn es auf beiden Plattformen verfügbar ist.

Die tragbare Untermenge ist nicht nur alles, was üblich ist. Jedes Mitglied der PCL ist dort bewusst und es gibt eine gute Anzahl von Mitgliedern, die nicht enthalten sind.

Wenn ein Profil etwas fehlt, das Sie benötigen, fordern Sie Microsoft auf, es hinzuzufügen (über MSConnect oder auf der Registerkarte Q & amp; A des alte, aber immer noch überwachte PCL-Seite ).

    
Stephen Cleary 15.12.2012 23:00
quelle