Xamarin ArcGISRuntime.net System.IO.FileLoadException:';文件异常:提供的文件路径包含不存在的目录;
我正在探索通过上面的链接可以获得的xamarin样本。一个名为Generate geodatabase的示例演示了如何生成geodatabase并将其本地存储在设备上 问题: 我正在运行UWP应用程序的示例,它会中断显示。 System.IO.FileLoadException:“文件异常:提供的文件路径包含不存在的目录。” 我已经调查了这个问题,以下是我的调查结果: 提供给的文件路径“\u gdbPath”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
_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(桌面)。我也是,因此它很可能不是安装问题。抱歉,无法帮助您。借用您的机器可以解决问题:)。