UWP项目集成Windows App UET SDK遇程序集引用问题求助
解决WinUI 3桌面打包项目集成UET SDK的引用问题
方案1:调整项目WinRT互操作配置
- 确保
Microsoft.Windows.CsWinRT包版本与项目目标框架匹配(例如net6.0-windows对应适配的CsWinRT版本) - 编辑项目的
.csproj文件,添加配置强制生成WinRT绑定:
<PropertyGroup> <GenerateWinRTBinding>true</GenerateWinRTBinding> </PropertyGroup>
- 在项目文件中明确指定UET SDK的winmd引用路径(替换为你本地NuGet包的实际路径):
<ItemGroup> <WinMDReference Include="..\packages\Microsoft.BingAds.UETSdk.x.x.x\lib\uap10.0\Microsoft.BingAds.UETSdk.winmd" /> </ItemGroup>
方案2:动态加载WinRT组件
若静态引用仍无效,尝试通过反射动态调用SDK功能:
- 保留
Microsoft.Windows.CsWinRT包,在代码中通过WinRT.ActivationFactory创建SDK实例:
using WinRT; // 初始化UET SDK,替换为你的广告ID var uetManager = WinRT.ActivationFactory<global::Microsoft.Advertising.UET.IUETManager>.CreateInstance(); uetManager.Initialize("你的广告追踪ID");
注:接口名称可通过查看winmd文件元数据确认
方案3:检查项目平台与打包配置
- 确保项目目标平台版本为Windows 10 1809(10.0.17763.0)或更高,UET SDK依赖该最低版本
- 确认Windows应用打包项目的目标版本与主应用项目一致,避免版本不匹配
- 清理项目的
bin和obj文件夹,重新构建整个解决方案
内容的提问来源于stack exchange,提问作者tereya
相关产品推荐
相关产品推荐

