使用 Windows.Storage 命名空间时出错

Posted

技术标签:

【中文标题】使用 Windows.Storage 命名空间时出错【英文标题】:Error while using Windows.Storage namespace 【发布时间】:2015-01-15 14:02:37 【问题描述】:

我正在尝试将字符串保存到我的临时文件夹中的文本文件中,但出现此错误:

Error2'await' requires that the type 'Windows.Foundation.IAsyncAction' have a 
suitable GetAwaiter method. Are you missing a using directive for 'System'

谢谢

附:这是 C# 控制台应用程序。

我的代码:

using System;
using System.IO;
using System.Linq;
using Windows.Storage;

public static class Storage


    public static async void SaveData()
    
        string myString = "This is the data I want to save";
        ApplicationDataContainer localSettings = ApplicationData.Current.LocalSettings;

        // Add:  using Windows.Storage;
        Windows.Storage.StorageFolder localFolder = Windows.Storage.ApplicationData.Current.TemporaryFolder;

        // Optionally overwrite any existing file with CreationCollisionOption
        StorageFile file = await localFolder.CreateFileAsync("mySaveFile.txt", CreationCollisionOption.ReplaceExisting);

        try
        
            if (file != null)
            
                await FileIO.WriteTextAsync(file, myString);
            
        
        catch (FileNotFoundException)
        
            // Error saving data
        
    


【问题讨论】:

【参考方案1】:

那是因为您缺少 .dll 添加对此程序集的引用: C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework.NETCore\v4.5.1\System.Runtime.WindowsRuntime.dll

这是桌面应用程序使用 WinRT API 的扩展方法“GetAwaiter”所必需的。

【讨论】:

以上是关于使用 Windows.Storage 命名空间时出错的主要内容,如果未能解决你的问题,请参考以下文章

Unity3D Hololens 访问 Windows.Storage.KnownFolders

在 Clojure 中需要命名空间时出现 FileNotFoundException

在 ASP.NET vNext 中使用 Ninject 时出现编译器错误 CS0246(未找到类型或命名空间)

使用soap4r时出现问题,无法将命名空间、编码样式添加到soap信封

将 C# 函数发布到 AWS lambda 时出现“类型或命名空间不存在”错误

Win10系列:JavaScript写入和读取文件