在之前的开发中,我使用了一个可移植类库来在Windows 8.1“Metro”应用程序和.NET/WPF桌面应用程序之间共享代码。
Windows 10通用类库是否也适用于这样的桌面应用程序?如果不是,那么在这种情况下推荐的代码共享方式是什么?
在之前的开发中,我使用了一个可移植类库来在Windows 8.1“Metro”应用程序和.NET/WPF桌面应用程序之间共享代码。
Windows 10通用类库是否也适用于这样的桌面应用程序?如果不是,那么在这种情况下推荐的代码共享方式是什么?
首先,让我们看一下你问题的第一部分:
Windows 10通用类库是否可从桌面应用程序中使用?
回答这个问题,我在VS2015中创建了一个新的解决方案,其中包含以下项目:
我随后能够将该类库作为参考添加到UWP应用程序中。但是,在尝试将库的引用添加到桌面应用程序时,我遇到了错误消息。
(截图:尝试将UWP lib作为桌面应用程序引用时出现的错误消息)
接下来,回答你的问题的第二部分:
如果不行,那么在这种情况下分享代码的推荐方法是什么?
然后,我添加了一个新的Class Library项目,但不是通用类型...我在经典桌面应用程序中选择了便携式类库选项。这使我可以选择要支持的平台,包括.NET 4.6和Windows Universal 10.0。
(截图:添加可移植类库)
现在,在我的解决方案中有一个新的类库项目:
我再次开始向我的WPF桌面应用程序添加类库引用,选择我的新portableLib项目。但是,我收到以下错误消息:
这种情况通常是因为在创建类库时,我选择了 .NET Framework 版本的一个平台(默认为 4.6 版本),但我的 WPF 项目仍然针对较旧版本的 .NET Framework。解决方法是编辑 WPF 应用程序的项目属性,将目标框架版本更新为与类库相同的版本。
最后,我将新的可移植类库引用到 Win10 UWP 应用程序中,它被成功添加。现在可以无错误地构建整个应用程序。
希望这能帮到你!