如何让UWP类库支持WindowsAppSdk应用?是否需重建?
解决方案
不需要直接重建为WindowsAppSdk类库,以下几种方案可解决兼容性问题:
升级为WinRT组件
WinRT组件天然兼容UWP和WindowsAppSdk项目,若你的类库基于标准WinRT API开发,只需修改项目配置:- 右键UWP类库项目,选择「编辑项目文件」
- 将原目标框架配置
<TargetFramework>uap10.0.16299</TargetFramework>替换为<TargetFramework>net6.0-windows10.0.16299.0</TargetFramework>(可根据需求选择更高SDK版本) - 在
<PropertyGroup>节点内添加<UseWinRT>true</UseWinRT>
修改后,类库既能继续被原有UWP项目引用,也能正常在WindowsAppSdk项目中使用。
拆分核心逻辑到.NET Standard类库
如果类库包含大量非UI通用逻辑,可将这部分代码迁移至.NET Standard 2.0及以上版本的类库中。原UWP类库和新建的WindowsAppSdk类库分别引用这个.NET Standard类库,既能保留原有UWP项目的兼容性,又能快速适配WindowsAppSdk场景。临时兼容配置(仅测试用)
若暂不想修改原项目,可尝试在WindowsAppSdk项目的项目文件中添加如下配置:<PropertyGroup> <EnableWindowsRuntimeSupport>true</EnableWindowsRuntimeSupport> </PropertyGroup>此方法可能存在API兼容性风险,仅适合简单场景验证。
注意:若你的UWP类库依赖UWP专属UI API(如Windows.UI.Xaml控件),优先选择WinRT组件方案;若为纯业务逻辑代码,.NET Standard拆分的方式更灵活。
内容的提问来源于stack exchange,提问作者Noorul
相关产品推荐
相关产品推荐

