无法加载文件或程序集System.Runtime.Handles' - Xamarin UWP

时间:2017-10-18 06:14:35

标签: c# .net xamarin uwp isolatedstorage

我们在整个代码中使用隔离存储,它始终工作正常。突然间,这个错误开始出现在几个不同的项目中,这意味着我根本不能使用独立存储。我尝试添加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

2 个答案:

答案 0 :(得分:0)

此问题已得到解决,无需执行任何操作。我无法解释它是如何解决的,但我怀疑它是Appx安装的一个问题。我相信应用程序的安装不知何故被破坏,因此孤立的存储也被破坏了。我在这里开始了另一个主题,原因不同:

UWP App Won't Start

我需要通过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.FileWindows.Storage来存储和管理文件。