Windows Phone 8中的PCLStorage

我正在使用PCLStorage进行我正在进行的Win8 / Wp8项目。 我在PCL中使用它,并在我的Win8,Wp8和PCL项目中引用它。 在Win8中,一切都很好用。

但是,在Wp8中,一旦我使用PCLStorage访问PCL进行存储,当我调用FileSystem.Current;时,我得到一个NotImpmlementedException FileSystem.Current;

“此function未在此程序集的可移植版本中实现。您应该从主应用程序项目中引用PCLStorage NuGet包,以引用特定于平台的实现。”

但就像我说的,我在我的Wp8项目和PCL项目中引用的PCLStorage NuGet包与我在Win8项目中的方式相同。

知道发生了什么事吗?

(我还应该注意,如果我在一个新的Wp8项目中使用它,PCLStorage工作正常)

尝试从所有项目中卸载PCLStorage NuGet包,然后在所有项目中重新安装。

如果它仍然不起作用,请尝试检查WP8项目中对PCLStorage DLL的引用,并确保它们来自程序包中的wp8文件夹。

如果这不会导致任何问题,请尝试在从PCL到PCL存储DLL的引用中将copy local设置为false。 如果你必须这样做,这是一个需要修复的问题,所以请为它提交一个bug。

编辑 :VS 2013 Update 2 RC中存在可能导致此问题的错误。 如果您在Windows Phone应用程序中引用它,这个NuGet包应该可以解决问题: SuppressPackagingPclFacades 。 或者,将Copy Local设置为false以便从PCL库到PCL存储组件的引用也应解决此问题。