C# 将Windows.winmd添加到UWP项目会导致冲突

C# 将Windows.winmd添加到UWP项目会导致冲突,c#,uwp,C#,Uwp,我正在尝试创建一个带有VS2017和MVVMLight标记的UWP项目,标记Windows 10版本1803至1809。这是一个WPF应用程序 经过几天的工作,我的解决方案编译和执行正确,我的主视图显示正确。现在,我需要添加对StorageDevice的支持,VS建议添加对Windows.winmd的引用。现在,StorageDevice已被识别,但此添加冲突消息和生成错误 p>冲突:对于不同类,包括 我在桌面应用程序方面有多年的经验,但我承认我是UWP的新手。我试图理解这个概念,但在我看来,

我正在尝试创建一个带有VS2017和MVVMLight标记的UWP项目,标记Windows 10版本1803至1809。这是一个WPF应用程序

经过几天的工作,我的解决方案编译和执行正确,我的主视图显示正确。现在,我需要添加对StorageDevice的支持,VS建议添加对Windows.winmd的引用。现在,StorageDevice已被识别,但此添加冲突消息和生成错误

<> p>冲突:对于不同类,包括

我在桌面应用程序方面有多年的经验,但我承认我是UWP的新手。我试图理解这个概念,但在我看来,它每年都在变化,我不理解所有组件和winmd概念之间的相互关系。所以,我迷路了,看不到谷歌的任何解决方案或类似的问题解决方案

要重现问题,请执行以下操作:

从Visual Studio 2017创建MVVMLight通用windows应用程序。 在App.xaml.cs中App类的构造函数末尾添加以下内容。它将如下所示: 公共应用程序 { 初始化组件; 暂停+=暂停; StorageFolder x=StorageDevice.FromId; } 为以下名称空间添加using:

使用Windows.Devices.Portable; 使用Windows.Storage; 编译。它将显示第2点中添加的行的错误,并建议添加对Windows.winmd的引用。StorageDevice在Windows.Devices.Portable命名空间中定义

接受添加对Windows.winmd的引用的建议。上一个错误消失,但会出现许多冲突错误CS0433,例如: 翻译成英文:

Error   CS0433  The type 'ApplicationExecutionState' exist in 'Windows.Foundation.UniversalApiContract, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' and 'Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' MvvmLight2  D:\Code\App.xaml.cs 41  Actif
包含在Windows桌面扩展SDK中,您无需添加对Windows.winmd的引用

按照以下步骤添加对“Windows桌面扩展”的引用:


右键单击项目的“参考”->“添加参考”->“通用Windows”->“扩展”->“UWP的Windows桌面扩展”。

它工作正常,谢谢!但我怎么知道我必须忽略VisualStudio的推荐,并找到正确的引用来使用呢?
Error   CS0433  The type 'ApplicationExecutionState' exist in 'Windows.Foundation.UniversalApiContract, Version=3.0.0.0, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' and 'Windows, Version=255.255.255.255, Culture=neutral, PublicKeyToken=null, ContentType=WindowsRuntime' MvvmLight2  D:\Code\App.xaml.cs 41  Actif