从桌面应用程序调用Windows 10通用类库

时间:2015-07-29 21:46:26

标签: .net portable-class-library windows-10

在之前的开发中,我使用了一个可移植类库来在Windows 8.1和#34; Metro"之间共享代码。应用程序和.NET / WPF桌面应用程序。

Windows 10 Universal类库是否也可以从这些桌面应用程序中使用,如果没有,在这种情况下共享代码的推荐方法是什么?

1 个答案:

答案 0 :(得分:43)

首先,让我们来看一下问题的第一部分:

  

Windows 10 Universal类库是否也可以从此类桌面使用   应用

为了回答这个问题,我在VS2015中创建了一个新的解决方案,其中包括以下项目:

  • WPF桌面应用,名为wpfApp
  • Win10 UWP应用,名为win10App
  • Win10 UWP类库,名为win10Lib

然后我可以添加类库作为对UWP应用程序的引用。但是,我在尝试将库引用添加到桌面应用程序时收到错误消息。

enter image description here

(SCREENSHOT:尝试添加UWP lib作为参考桌面应用程序时的错误信息)

接下来,问题的第二部分:

  

如果没有,建议的方法是分享代码   方案

所以,然后我添加了一个新的类库项目,但没有添加通用类...我选择了经典桌面应用程序下的可移植类库选项。这使我可以选择我想要支持的平台,包括.NET 4.6和Windows Universal 10.0。

enter image description here

(SCREENSHOT:添加可移植类库)

所以,现在我的解决方案中有一个新的类库项目:

  • 经典桌面类库(可移植),名为portableLib

我再次开始向我的WPF桌面应用程序添加类库引用,选择我的新portableLib项目。但是,我收到以下错误消息:

enter image description here

(SCREENSHOT:将可移植类库ref添加到WPF项目时出现错误消息)

这是因为我在创建类库时选择了4.6(.NET Framework版本的默认版本)作为平台之一,但我的WPF项目仍然以.NET Framework的旧版本为目标。我通过编辑WPF应用程序的项目属性来修复此问题,并更新目标以匹配类库的框架版本。

最后,我在Win10 UWP应用程序中添加了对新的可移植类库的引用,并且已成功添加。我现在可以构建解决方案而没有错误。

这是我的项目结构的屏幕截图,带有参考。 enter image description here

希望这有帮助!