Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/321.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 错误:尝试将文件保存到UWP应用程序文件夹中_C#_Uwp - Fatal编程技术网

C# 错误:尝试将文件保存到UWP应用程序文件夹中

C# 错误:尝试将文件保存到UWP应用程序文件夹中,c#,uwp,C#,Uwp,我试图在app文件夹中保存一个JSON文件,我可以从这个文件中读取数据,但是我不能在这个文件中写入数据 data.json在文件属性中标记为“Content” class Json { private string data; private const string value1key = "value1"; private const string value2key = "value2"; private const string value3key = "

我试图在app文件夹中保存一个JSON文件,我可以从这个文件中读取数据,但是我不能在这个文件中写入数据

data.json在文件属性中标记为“Content”

class Json
{
    private string data;
    private const string value1key = "value1";
    private const string value2key = "value2";
    private const string value3key = "value3";

    StorageFile file;
    StorageFolder folder;

    private void File()
    {
        folder = Windows.ApplicationModel.Package.Current.InstalledLocation.GetFolderAsync("Data").AsTask().ConfigureAwait(false).GetAwaiter().GetResult();
        //file = StorageFile.GetFileFromApplicationUriAsync(new Uri(@"ms-appx:///data.json")).AsTask().ConfigureAwait(false).GetAwaiter().GetResult();
        file = folder.GetFileAsync("data.json").AsTask().ConfigureAwait(false).GetAwaiter().GetResult();
    }

    public Json()
    {
        File();
    }

    public string Read()
    {
        return (FileIO.ReadTextAsync(file).AsTask().ConfigureAwait(false).GetAwaiter().GetResult());
    }

    public async void Save()
    {
        JsonObject jsonObject = new JsonObject();
        jsonObject["value1"] = JsonValue.CreateNumberValue(Data._value1);
        jsonObject["value2"] = JsonValue.CreateNumberValue(Data._value2);
        jsonObject["value3"] = JsonValue.CreateNumberValue(Data._value3);

        string newData = jsonObject.Stringify();
        await FileIO.WriteTextAsync(file, newData);
        //FileIO.WriteTextAsync(file, newData).AsTask().ConfigureAwait(true).GetAwaiter();
    }
}
我得到了这个错误: System.UnauthorizedAccessException:'拒绝访问。(来自HRESULT的异常:0x80070005(E_ACCESSDENIED))'


如果问题无法解决,是否有其他方法保存应用程序数据?

应用程序文件夹中的所有文件都是只读的。因此,在将数据写入文件之前,请尝试将
FileAttributes
设置为
Normal
。您可以使用下面的代码来完成

File.SetAttributes(file, FileAttributes.Normal);

您是否已检查此项:?我得到以下信息:System.UnauthorizedAccessException:“对路径“C:\Users\Carlos Giovano\documents\visual studio 2017\Projects\App1\App1\bin\x86\Debug\AppX\Data\Data.json”的访问被拒绝。”。我在VS(2015)的前一个版本中使用周年更新测试了这段代码,并且成功了!我不知道怎么做,为什么。你试过在管理中运行VS吗?你试过上面的代码吗?