我已关注this tutorial。 我的第一个问题是,当我想添加对Windows的引用时,我有一个完整的引用列表
正如您所看到的,我将所有内容添加到我的项目中以使其工作,以及本教程的其他参考。 但我的应用程序不会编译:(
我有这个错误:
未实施(例外情况HRESULT:0x80004001(E_NOTIMPL))
这一个
无法解析对Windows运行时类型的依赖关系' Windows.Foundation.Metadata.PlatformAttribute'。使用ReflectionOnly API时,必须通过ReflectionOnlyNamespaceResolve事件按需解析相关的Windows运行时程序集。'
我见过this post但似乎作者遇到的问题与我的问题不一样,因为他将它用于运行时(异常抛出),而我必须编译时。
有人知道如何继续吗?
有关信息:这样做的主要目的是访问Windows.Devices.Sensor以获得屏幕方向,因为我们有一个应用程序从WPF中的WebCam拍照,当我们在Surface平板电脑上使用它时,屏幕上的图片显示没有跟随平板电脑的方向,这使得图片很难拍摄。
全部谢谢
答案 0 :(得分:1)
这对我来说很好 - 不确定为什么要获取运行时元数据(每个顶级命名空间一个winmd)而不是设计时元数据(单个winmd)。这就是我在8.1机器上所做的:
<TargetPlatformVersion>8.1</TargetPlatformVersion>
元素<TargetFrameworkVersion>4.5</TargetFrameworkVersion>
然后我将以下代码添加到MainWindow.InitializeComponent
:
var sos = Windows.Devices.Sensors.SimpleOrientationSensor.GetDefault();
Debug.WriteLine(sos == null ? "No sensor" : sos.GetCurrentOrientation().ToString());
它编译并正确运行,但我的桌面上没有传感器,因此打印“无传感器”。
如果您无法通过参考用户界面向您显示设计时元数据,请浏览至C:\Program Files (x86)\Windows Kits\8.1\References\CommonConfiguration\Neutral\Windows.winmd