Xamarin ArcGISRuntime.net System.IO.FileLoadException:';文件异常:提供的文件路径包含不存在的目录;

Xamarin ArcGISRuntime.net System.IO.FileLoadException:';文件异常:提供的文件路径包含不存在的目录;,xamarin,arcgis-runtime,Xamarin,Arcgis Runtime,我正在探索通过上面的链接可以获得的xamarin样本。一个名为Generate geodatabase的示例演示了如何生成geodatabase并将其本地存储在设备上 问题: 我正在运行UWP应用程序的示例,它会中断显示。 System.IO.FileLoadException:“文件异常:提供的文件路径包含不存在的目录。” 我已经调查了这个问题,以下是我的调查结果: 提供给的文件路径“\u gdbPath” _generateGdbJob = _gdbSyncTask.GenerateGeod

我正在探索通过上面的链接可以获得的xamarin样本。一个名为Generate geodatabase的示例演示了如何生成geodatabase并将其本地存储在设备上

问题: 我正在运行UWP应用程序的示例,它会中断显示。 System.IO.FileLoadException:“文件异常:提供的文件路径包含不存在的目录。” 我已经调查了这个问题,以下是我的调查结果: 提供给的文件路径“\u gdbPath”

_generateGdbJob = _gdbSyncTask.GenerateGeodatabase(generateParams, _gdbPath);
使用以下方法获得:

private string GetGdbPath()
        {
            // Set the platform-specific path for storing the geodatabase
            String folder = "";

#if NETFX_CORE //UWP
            folder = Windows.Storage.ApplicationData.Current.LocalFolder.Path.ToString();
#elif __IOS__
            folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
#elif __ANDROID__
            folder = Environment.GetFolderPath(Environment.SpecialFolder.MyDocuments);
#endif
            // Set the final path
            return Path.Combine(folder, "wildfire.geodatabase");

    }
现在,GbdPath位置在设备上,并且是正确的。我实际打开了路径,并尝试在路径/文件夹中创建一个文件,如下所示:

async void WriteTimestamp()
        {
            Windows.Globalization.DateTimeFormatting.DateTimeFormatter formatter =
                new Windows.Globalization.DateTimeFormatting.DateTimeFormatter("longtime");

           StorageFile sampleFile = await localFolder.CreateFileAsync("wildfire.geodatabase",
                CreationCollisionOption.ReplaceExisting);
           await FileIO.WriteTextAsync(sampleFile, formatter.Format(DateTime.Now));
        }
它工作正常,文件成功创建。因此,文件系统是可访问的。 另外,我在安卓系统上尝试了一下,做了一些修改,我让它工作了

问题: 我的UWP平台有什么问题(我没有测试IOS)

更新:

我做了进一步的研究,发现GeodatabaseSyncTask类GenerateGoDatabase方法中可能有一个bug(我将报告)。如果Windows 10配置为将新内容存储在其他位置(默认c:drive上除外),则它找不到LocalState文件夹,就像我的情况一样 . 因此,如果将windows 10配置为在另一个驱动器上存储应用程序内容(如我的情况),则上面提到的类无法看到它(仅基于观察,我没有对其进行反编译)。Windows 10将内容存储在WpSystem中的另一个驱动器上。。。文件夹。如果使用命令提示符cmd浏览默认位置,系统将创建一个名为LocalState的快捷方式,该快捷方式指向自定义位置


我不知道什么是最好的工作,直到它被修复

对我来说很好,也许你的设置有问题?我使用Visual Studio 2017 15.3.5和Xamarin 4.7.9.45,它在Windows 10(桌面)1703编译15063.608上工作。我在x86平台上运行它,并且使用Xamarin 4.7.9.45和Windows 10 Pro(桌面)。我也是,因此它很可能不是安装问题。对不起,那就帮不了你。借用你的机器可以解决问题:)。对我来说很好,也许你的设置有问题?我使用Visual Studio 2017 15.3.5和Xamarin 4.7.9.45,它在Windows 10(桌面)1703编译15063.608上工作。我在x86平台上运行它,并且使用Xamarin 4.7.9.45和Windows 10 Pro(桌面)。我也是,因此它很可能不是安装问题。抱歉,无法帮助您。借用您的机器可以解决问题:)。