Windows store apps 运行WACK时Windows应用商店应用程序本地文件夹数据丢失?

Windows store apps 运行WACK时Windows应用商店应用程序本地文件夹数据丢失?,windows-store-apps,packaging,Windows Store Apps,Packaging,我的第一个Windows应用商店应用程序即将上载。它通过了我机器上的Windows应用程序认证套件测试。但是,如果我“构建要上载到Windows应用商店的软件包”,它将由于“崩溃和挂起”而无法通过测试。我发现,在运行测试之前,WACK会删除我的包文件夹,因为应用程序需要在启动时从那里加载数据,它可能找不到,因此会挂起 我的问题是: 打包应用程序时,我的本地文件夹(即C:\Users\…\AppData\Local\Packages\packageName\LocalState)中的文件会发生什么

我的第一个Windows应用商店应用程序即将上载。它通过了我机器上的Windows应用程序认证套件测试。但是,如果我“构建要上载到Windows应用商店的软件包”,它将由于“崩溃和挂起”而无法通过测试。我发现,在运行测试之前,WACK会删除我的包文件夹,因为应用程序需要在启动时从那里加载数据,它可能找不到,因此会挂起

我的问题是:

  • 打包应用程序时,我的本地文件夹(即C:\Users\…\AppData\Local\Packages\packageName\LocalState)中的文件会发生什么变化

  • 如果我需要在应用程序启动时读取和写入文件中的数据,我应该将这些文件保存在哪里

  • 非常感谢您抽出时间

    我正在使用Visual Studio 2013更新2,WACK 3.4

    以下是我的应用程序启动时运行的一些代码,我尝试反序列化本地文件夹中的现有文件:

            StorageFolder localFolder = ApplicationData.Current.LocalFolder;
            StorageFolder demoFolder = await localFolder.CreateFolderAsync("Demos", CreationCollisionOption.OpenIfExists);
            StorageFolder gameRecordFolder = await demoFolder.CreateFolderAsync("GameRecords", CreationCollisionOption.OpenIfExists);
    
            string filename = gameRecName+".xaml";
            StorageFile gameFile = await gameRecordFolder.GetFileAsync(filename);
    
            GameRecord g;
            using (Stream fileStream = await gameFile.OpenStreamForReadAsync())
            {
                XmlSerializer serializer = new XmlSerializer(typeof(GameRecord));
                g = (GameRecord)serializer.Deserialize(fileStream);
            }
    

    我不知道这段代码在第一次运行时是如何工作的。您创建了一个demo和GameRecord文件夹,并希望其中有一个文件。您需要检查该文件是否存在,以及它是否使用代码创建该文件,或者将其从应用程序附带的资源复制到文件夹中。谢谢!我假设本地文件夹包含在应用程序中。可能就是这样。不,本地文件夹将不会自动包含。同时,我尝试将演示文件包含在包中,虽然我将其添加到项目中,并将其扩展名从.xaml更改为其他内容,但它未安装在bin\Release文件夹中,我无法使用“Windows.ApplicationModel.Package.Current.InstalledLocation”。我如何将其作为资源包含在我的包中,并按照您所说的检索它?谢谢Ken。我想我发现了问题:我需要在Visual Studio中设置文件的生成操作。如果我遗漏了任何内容,请告诉我。