2015-08-26 2 views
1

Je suis en train de laisser la recherche de l'utilisateur pour un fichier avec la classe FileOpenPicker, mais quand j'utilise la fonction PickSingleFileAsync avec await, je suis l'erreur suivante:application UWP: FileOpenPicker PickSingleFileAsync() ne peut pas attendre

'IAsyncOperation' does not contain a definition for 'GetAwaiter' and no extension method 'GetAwaiter' accepting a first argument of type 'IAsyncOperation' could be found (are you missing a using directive for 'System'?)

C'est la fonction qui donne l'erreur sur sa dernière ligne:

private async void browseFileButton_Click(object sender, RoutedEventArgs e) { 
    FileOpenPicker filePicker = new FileOpenPicker(); 
    filePicker.ViewMode = PickerViewMode.Thumbnail; 

    selectedFile = await filePicker.PickSingleFileAsync(); 
} 

la documentation de Microsoft contient un exemple qui utilise le FileOpenPicker de la même manière. Est-ce que quelqu'un a eu ce problème ou quelqu'un a-t-il trouvé une solution à ce problème?

+1

Il vous manque une directive de référence ou 'using'. –

+0

Pour référence future: lorsque vous obtenez une erreur comme celle-ci, le premier endroit où aller est [la documentation] (https://msdn.microsoft.com/en-us/library/hh582011 (v = vs.110) .aspx). Cette page est le ** premier ** résultat de la recherche lorsque j'entre "iasyncoperation getawaiter" dans la page de recherche MSDN. Et en regardant cette page de documentation, vous pouvez voir clairement dans quel assemblage la méthode est définie (que vous avez besoin de référencer) et que c'est une méthode d'extension (ce qui signifie que vous devez avoir la bonne directive 'using'). –

Répondre

7

avez-vous:

using System;

en haut du fichier de classe? J'ai juste essayé d'ajouter votre échantillon à un projet et ai dupliqué votre erreur quand j'ai enlevé cette référence ...

+0

Merci, cela a effectivement résolu mon problème. Je n'y ai jamais pensé parce que normalement Visual Studio me dit quand il me manque une instruction using. –