File 在Iot核心上保存文件时出错(通用应用程序)

File 在Iot核心上保存文件时出错(通用应用程序),file,win-universal-app,iot,File,Win Universal App,Iot,我正试图在我的物联网核心(Windows 10)上保存txt文件上的数据, 在温度方面,我想把这些信息保存在txt中,比如: private async void _timer_Tick(object sender, object e) { DhtReading reading = new DhtReading(); int val = this.TotalAttempts; this.TotalAttempts++;

我正试图在我的物联网核心(Windows 10)上保存txt文件上的数据, 在温度方面,我想把这些信息保存在txt中,比如:

   private async void _timer_Tick(object sender, object e)
    {
        DhtReading reading = new DhtReading();
        int val = this.TotalAttempts;
        this.TotalAttempts++;

        reading = await _dht.GetReadingAsync().AsTask();

        _retryCount.Add(reading.RetryCount);
        this.OnPropertyChanged(nameof(AverageRetriesDisplay));
        this.OnPropertyChanged(nameof(TotalAttempts));
        this.OnPropertyChanged(nameof(PercentSuccess));

        if (reading.IsValid)
        {
            this.TotalSuccess++;
            this.Temperature = Convert.ToSingle(reading.Temperature);
            this.Humidity = Convert.ToSingle(reading.Humidity);
            this.LastUpdated = DateTimeOffset.Now;
            this.OnPropertyChanged(nameof(SuccessRate));

            //Inserir aqui o método de gravação de arquivo.

                StreamWriter SW;
                SW = File.AppendText(@"Arquivo.txt");
                SW.WriteLine("Evento Gerado em: " + DateTime.Now.ToString() + Humidity + Temperature + "\n\r");
        SW.Close();
    }
}
这就是我看到的错误,有人知道吗

“CS1061‘StreamWriter’不包含‘Close’的定义,并且找不到接受‘StreamWriter’类型的第一个参数的扩展方法‘Close’(是否缺少using指令或程序集引用?”

StreamWriter.Close()在UWP中不存在,它仅在遗留的.NET framework中可用

不,您不需要在UWP项目中调用它,只需调用Dispose()方法即可。下面是您可以遵循的代码示例

        using (var SW = File.AppendText(@"Arquivo.txt"))
        {
            SW.WriteLine("Evento Gerado em: " + DateTime.Now.ToString() + Humidity + Temperature + "\n\r");
        }
using子句将在超出范围时自动调用Dispose方法

实际上,如果查看.NET第231行,调用Close()与Dispose()相当,只是它告诉CLR不要调用对象的终结器

我想在UWP应用程序中使用上面的代码片段会很好

顺便说一下,如果要保存到外部存储器上的txt文件,则需要在项目清单文件中明确声明该功能,在“声明”选项卡中,添加“文件类型关联”和一个扩展名为“txt”的方案。它也适用于其他文件格式。

StreamWriter.Close()在UWP中不存在,它仅在遗留的.NET framework中可用

不,您不需要在UWP项目中调用它,只需调用Dispose()方法即可。下面是您可以遵循的代码示例

        using (var SW = File.AppendText(@"Arquivo.txt"))
        {
            SW.WriteLine("Evento Gerado em: " + DateTime.Now.ToString() + Humidity + Temperature + "\n\r");
        }
using子句将在超出范围时自动调用Dispose方法

实际上,如果查看.NET第231行,调用Close()与Dispose()相当,只是它告诉CLR不要调用对象的终结器

我想在UWP应用程序中使用上面的代码片段会很好


顺便说一下,如果要保存到外部存储器上的txt文件,则需要在项目清单文件中明确声明该功能,在“声明”选项卡中,添加“文件类型关联”,以及一个扩展名为“txt”的方案。它也适用于其他文件格式。

谢谢您的帮助,但它不起作用,我有一个错误:#如果调试和禁用#XAML_生成的_BREAK_ON_UNHANDLED_EXCEPTION UnhandledException+=(发送方,e)=>{if(全局::系统.诊断.调试器.IsAttached)全局::系统.诊断.调试器.BREAK(); };有人可以帮忙吗?我的显示器上的温度和湿度都是0,可能是因为方法错误。这像是拒绝访问异常吗?是的,很可能是异常,我认为txt文件保存在microSD的某个文件夹中,但我还不知道在哪里。我想保存该文件以检查这一点。尝试将txt扩展名更改为jpg,然后重试在您的项目menifest中声明音乐库。我已成功在我的项目中保存了一个文件,但如何保存此文件的信息?我想记录湿度和温度。感谢帮助,但它不起作用,我有一个错误:#如果调试和禁用_XAML_生成的_中断_未处理的_异常未处理的异常+=(发件人,e)=>{if(全局::System.Diagnostics.Debugger.IsAttached)全局::System.Diagnostics.Debugger.Break();};有人可以帮忙吗?我的显示器上的温度和湿度都是0,可能是因为方法错误。这像是拒绝访问异常吗?是的,很可能是异常,我认为txt文件保存在microSD的某个文件夹中,但我还不知道在哪里。我想保存该文件以检查这一点。尝试将txt扩展名更改为jpg,然后重试在项目menifest中声明音乐库。我已成功在项目中保存了一个文件,但如何保存此文件上的信息?我想记录湿度和温度。