我们在整个代码中使用隔离存储,它始终工作正常。突然间,这个错误开始出现在几个不同的项目中,这意味着我根本不能使用独立存储。我尝试添加System.Runtime.Handles NuGet包但它没有任何区别。
这是代码:
using (var userStore = IsolatedStorageFile.GetUserStoreForApplication())
{
}
System.IO.IsolatedStorage.IsolatedStorageException发生了 HResult = 0x80131450消息=不允许操作。 Source = StackTrace:at System.IO.IsolatedStorage.IsolatedStorageFile.CreatePathPrefixIfNeeded(字符串 路径) System.IO.IsolatedStorage.IsolatedStorageFile.FetchOrCreateRoot()
在System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStore()at System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication() 在 Adapt.Presentation.XivicControls.XivicUtilities.CreateAttachmentsFolders() 在 C:\ AdaptSource \ Xivic \ Adapt.Presentation.XamarinForms \适应\演示\ XivicControls \ XivicUtilities - Xamarin Forms.cs:Adapt.Presentation.XamarinForms.App.d__31.MoveNext()第19行 在 C:\ AdaptSource \ Xivic \ Adapt.Presentation.XamarinForms \适应\演示\ XamarinForms \ App.xaml.cs:行 99内部异常1:FileNotFoundException:无法加载文件或 assembly' System.Runtime.Handles,Version = 4.0.0.0,Culture = neutral, 公钥= b03f5f7f11d50a3a&#39 ;.系统找不到该文件 指定。
但是,这也是一个编译时问题。我在一个单独的项目中收到此编译器错误消息:
严重级代码描述项目文件行抑制状态 错误无法复制文件 " C:\用户\ chris.nuget \包\ runtime.any.System.Runtime.Handles \ 4.3.0 \ lib中\ netstandard1.3 \ System.Runtime.Handles.dll" 因为没找到。 TestXamarinForms.UWP C:\ Program Files (x86)\ Microsoft Visual Studio \ 2017 \ Professional \ MSBuild \ 15.0 \ Bin \ Microsoft.Common.CurrentVersion.targets 4222
如果你在这里查看我的回购,你可以很容易地看到错误: https://ChristianFindlay@bitbucket.org/ChristianFindlay/xamarin-forms-scratch.git
答案 0 :(得分:0)
此问题已得到解决,无需执行任何操作。我无法解释它是如何解决的,但我怀疑它是Appx安装的一个问题。我相信应用程序的安装不知何故被破坏,因此孤立的存储也被破坏了。我在这里开始了另一个主题,原因不同:
我需要通过PowerShell卸载应用程序的答案,因为应用程序以某种方式安装了不同的用户名:
Get-appxpackage -allusers <appname> | Remove-AppxPackage
隔离存储现在可以使用了。奇怪的是,我收到的同样错误消息的编译错误也已清除。这仍然有点神秘。
答案 1 :(得分:-1)
据我所知,Xamarin应用不支持IsolatedStorage
。您应该在每个平台上使用本机存储机制来存储文件/数据/设置 - 如此处所述https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/。
对于UWP,您需要使用System.IO.File
或Windows.Storage
来存储和管理文件。