编译Microsoft Screen Capture的C# UWP示例代码遇类型转换错误求解决
解决方法
1. 替换错误的NuGet包
你当前安装的Microsoft.Graphics.Win2D是针对Windows App SDK(WinUI3)的包,不适用于UWP项目。需要卸载它并安装UWP专用的Win2D包:
- 在NuGet包管理器中,卸载
Microsoft.Graphics.Win2D - 搜索并安装
Win2D.uwp包(选择最新兼容版本即可)
2. 修正命名空间引用
确保代码中引用正确的Win2D命名空间:
using Microsoft.Graphics.Canvas.UI.Composition;
这个命名空间下的CanvasComposition.CreateCompositionGraphicsDevice方法,参数类型正是UWP的Windows.UI.Composition.Compositor,和Window.Current.Compositor完全匹配。
3. 验证项目目标版本
确认你的UWP项目目标Windows版本不低于Windows 10 1809(内部版本17763),这是屏幕捕获API和Win2D.uwp所需的最低版本:
- 右键项目 → 属性 → 应用程序 → 目标版本,选择符合要求的版本
完成以上步骤后,编译错误即可解决。
内容的提问来源于stack exchange,提问作者m_collard
相关产品推荐
相关产品推荐

