从桌面应用程序调用 Windows 10 通用 Class 库
Calling a Windows 10 Universal Class Library from a desktop application
在之前的开发中,我使用了便携式 Class 库在 Windows 8.1 "Metro" 应用程序和 .NET/WPF 桌面应用程序之间共享代码。
Windows10 个通用 class 库是否也可用于此类桌面应用程序?如果不能,在这种情况下共享代码的推荐方式是什么?
首先我们来看一下你的问题的第一部分:
Are Windows 10 Universal class libraries also usable from such desktop
apps?
为了回答这个问题,我在 VS2015 中使用以下项目创建了一个新解决方案:
- WPF 桌面应用程序,名为 wpfApp
- Win10 UWP 应用程序,名为 win10App
- Win10 UWP class 库,名为 win10Lib
然后我能够添加 class 库作为对 UWP 应用程序的引用。但是,我在尝试将库引用添加到桌面应用程序时收到一条错误消息。
(屏幕截图:尝试将 UWP 库作为引用添加到桌面应用程序时出现错误消息)
接下来是你问题的第二部分:
and if not, what is the recommended way to share code in this
scenario?
因此,我随后添加了一个新的 Class 库项目,但不是通用类型...我在 Classic 桌面应用程序下选择了便携式 Class 库选项。这让我可以选择我想要支持的平台,包括 .NET 4.6 和 Windows Universal 10.0。
(屏幕截图:添加便携式 Class 库)
所以,现在我的解决方案中有一个新的 class 库项目:
- classic desktop class 库(便携式),命名为 portableLib
我开始再次向我的 WPF 桌面应用程序添加 class 库引用,选择我的新 portableLib 项目。但是,我收到以下错误消息:
(屏幕截图:向 WPF 项目添加可移植 class 库引用时出现错误消息)
发生这种情况是因为我在创建 class 库时选择了 4.6(.NET Framework 版本的默认值)作为平台之一,但我的 WPF 项目仍然针对旧版本的 .NET Framework .我通过编辑 WPF 应用程序的项目属性修复了这个问题,并更新了目标以匹配 class 库的框架版本。
最后,我在我的 Win10 UWP 应用程序中添加了对新的可移植 class 库的引用,并且添加成功。我现在可以构建没有错误的解决方案。
这是我的项目结构的截图,附有参考资料。
希望对您有所帮助!
在之前的开发中,我使用了便携式 Class 库在 Windows 8.1 "Metro" 应用程序和 .NET/WPF 桌面应用程序之间共享代码。
Windows10 个通用 class 库是否也可用于此类桌面应用程序?如果不能,在这种情况下共享代码的推荐方式是什么?
首先我们来看一下你的问题的第一部分:
Are Windows 10 Universal class libraries also usable from such desktop apps?
为了回答这个问题,我在 VS2015 中使用以下项目创建了一个新解决方案:
- WPF 桌面应用程序,名为 wpfApp
- Win10 UWP 应用程序,名为 win10App
- Win10 UWP class 库,名为 win10Lib
然后我能够添加 class 库作为对 UWP 应用程序的引用。但是,我在尝试将库引用添加到桌面应用程序时收到一条错误消息。
(屏幕截图:尝试将 UWP 库作为引用添加到桌面应用程序时出现错误消息)
接下来是你问题的第二部分:
and if not, what is the recommended way to share code in this scenario?
因此,我随后添加了一个新的 Class 库项目,但不是通用类型...我在 Classic 桌面应用程序下选择了便携式 Class 库选项。这让我可以选择我想要支持的平台,包括 .NET 4.6 和 Windows Universal 10.0。
(屏幕截图:添加便携式 Class 库)
所以,现在我的解决方案中有一个新的 class 库项目:
- classic desktop class 库(便携式),命名为 portableLib
我开始再次向我的 WPF 桌面应用程序添加 class 库引用,选择我的新 portableLib 项目。但是,我收到以下错误消息:
(屏幕截图:向 WPF 项目添加可移植 class 库引用时出现错误消息)
发生这种情况是因为我在创建 class 库时选择了 4.6(.NET Framework 版本的默认值)作为平台之一,但我的 WPF 项目仍然针对旧版本的 .NET Framework .我通过编辑 WPF 应用程序的项目属性修复了这个问题,并更新了目标以匹配 class 库的框架版本。
最后,我在我的 Win10 UWP 应用程序中添加了对新的可移植 class 库的引用,并且添加成功。我现在可以构建没有错误的解决方案。
这是我的项目结构的截图,附有参考资料。
希望对您有所帮助!