无法加载文件或程序集 'System.Runtime.Handles' - Xamarin UWP
Could not load file or assembly 'System.Runtime.Handles' - Xamarin UWP
我们在整个代码中使用独立存储,并且它一直运行良好。突然这个错误开始出现在几个不同的项目中,这意味着我根本无法使用独立存储。我尝试添加 System.Runtime.Handles NuGet 包,但没有任何区别。
这是代码:
using (var userStore = IsolatedStorageFile.GetUserStoreForApplication())
{
}
System.IO.IsolatedStorage.IsolatedStorageException occurred
HResult=0x80131450 Message=Operation not permitted. Source= StackTrace: at
System.IO.IsolatedStorage.IsolatedStorageFile.CreatePathPrefixIfNeeded(String
path) at
System.IO.IsolatedStorage.IsolatedStorageFile.FetchOrCreateRoot()
at System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStore() at
System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication()
at
Adapt.Presentation.XivicControls.XivicUtilities.CreateAttachmentsFolders()
in
C:\AdaptSource\Xivic\Adapt.Presentation.XamarinForms\Adapt\Presentation\XivicControls\XivicUtilities
- Xamarin Forms.cs:line 19 at Adapt.Presentation.XamarinForms.App.d__31.MoveNext()
in
C:\AdaptSource\Xivic\Adapt.Presentation.XamarinForms\Adapt\Presentation\XamarinForms\App.xaml.cs:line
99
Inner Exception 1: FileNotFoundException: Could not load file or
assembly 'System.Runtime.Handles, Version=4.0.0.0, Culture=neutral,
PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file
specified.
但是,这也是编译时的问题。我在单独的项目中收到此编译器错误消息:
Severity Code Description Project File Line Suppression State
Error Could not copy the file
"C:\Users\chris.nuget\packages\runtime.any.System.Runtime.Handles.3.0\lib\netstandard1.3\System.Runtime.Handles.dll"
because it was not found. TestXamarinForms.UWP C:\Program Files
(x86)\Microsoft Visual
Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets 4222
如果你在这里查看我的 repo,你可以很容易地看到错误:
https://ChristianFindlay@bitbucket.org/ChristianFindlay/xamarin-forms-scratch.git
据我所知 IsolatedStorage
在 Xamarin 应用程序中不受支持。您应该在每个平台上使用本机存储机制来存储 files/data/settings - 如此处所述 https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/ .
对于 UWP,您需要使用 System.IO.File
或 Windows.Storage
来存储和管理文件。
无需执行任何操作即可解决此问题。我无法解释它是如何解决的,但我怀疑这是 Appx 安装的问题。我相信应用程序的安装不知何故被破坏了,因此隔离存储也被破坏了。出于不同的原因,我在这里开始了另一个线程:
我需要像这样通过 powershell 卸载应用程序的答案,因为应用程序以某种方式安装了不同的用户名:
Get-appxpackage -allusers <appname> | Remove-AppxPackage
独立存储现在可用。神奇的是,我遇到的带有相同错误消息的编译错误也已清除。这一切都还是个谜。
我们在整个代码中使用独立存储,并且它一直运行良好。突然这个错误开始出现在几个不同的项目中,这意味着我根本无法使用独立存储。我尝试添加 System.Runtime.Handles NuGet 包,但没有任何区别。
这是代码:
using (var userStore = IsolatedStorageFile.GetUserStoreForApplication())
{
}
System.IO.IsolatedStorage.IsolatedStorageException occurred
HResult=0x80131450 Message=Operation not permitted. Source= StackTrace: at System.IO.IsolatedStorage.IsolatedStorageFile.CreatePathPrefixIfNeeded(String path) at System.IO.IsolatedStorage.IsolatedStorageFile.FetchOrCreateRoot()
at System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStore() at System.IO.IsolatedStorage.IsolatedStorageFile.GetUserStoreForApplication() at Adapt.Presentation.XivicControls.XivicUtilities.CreateAttachmentsFolders() in C:\AdaptSource\Xivic\Adapt.Presentation.XamarinForms\Adapt\Presentation\XivicControls\XivicUtilities - Xamarin Forms.cs:line 19 at Adapt.Presentation.XamarinForms.App.d__31.MoveNext() in C:\AdaptSource\Xivic\Adapt.Presentation.XamarinForms\Adapt\Presentation\XamarinForms\App.xaml.cs:line 99Inner Exception 1: FileNotFoundException: Could not load file or assembly 'System.Runtime.Handles, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'. The system cannot find the file specified.
但是,这也是编译时的问题。我在单独的项目中收到此编译器错误消息:
Severity Code Description Project File Line Suppression State Error Could not copy the file "C:\Users\chris.nuget\packages\runtime.any.System.Runtime.Handles.3.0\lib\netstandard1.3\System.Runtime.Handles.dll" because it was not found. TestXamarinForms.UWP C:\Program Files (x86)\Microsoft Visual Studio17\Professional\MSBuild.0\Bin\Microsoft.Common.CurrentVersion.targets 4222
如果你在这里查看我的 repo,你可以很容易地看到错误: https://ChristianFindlay@bitbucket.org/ChristianFindlay/xamarin-forms-scratch.git
据我所知 IsolatedStorage
在 Xamarin 应用程序中不受支持。您应该在每个平台上使用本机存储机制来存储 files/data/settings - 如此处所述 https://developer.xamarin.com/guides/ios/application_fundamentals/working_with_the_file_system/ .
对于 UWP,您需要使用 System.IO.File
或 Windows.Storage
来存储和管理文件。
无需执行任何操作即可解决此问题。我无法解释它是如何解决的,但我怀疑这是 Appx 安装的问题。我相信应用程序的安装不知何故被破坏了,因此隔离存储也被破坏了。出于不同的原因,我在这里开始了另一个线程:
我需要像这样通过 powershell 卸载应用程序的答案,因为应用程序以某种方式安装了不同的用户名:
Get-appxpackage -allusers <appname> | Remove-AppxPackage
独立存储现在可用。神奇的是,我遇到的带有相同错误消息的编译错误也已清除。这一切都还是个谜。