出现的问题
1、最近有小伙伴开发平板的批注在我们平板机器上直接报了“从服务器返回了一个参照”,而之前的版本都是可以直接运行且不报错的。


2、查询了一下网上对于“从服务器返回了一个参照”一些讨论如下:
win11下安装应用失败,提示从服务器返回了一个参照_从服务器返回了一个参照怎么解决-CSDN博客
如何解决从服务器返回一个参照 - 阿星随记 - 博客园
大部分都是指向(用户账户控制)权限问题。
3、比较了之前的版本都是可以运行且不报错,那应该是应用程序的部分设置没对导致的了。
排查、解决问题
1、检查WPF 应用程序的清单列表,设置UIAcess为true,这是由于需求需要设置当前的窗口需要比任务管理器等其他的系统窗口的层级都高:
<requestedExecutionLevel level="asInvoker" uiAccess="true" />

2、检查对应的应用程序是否存在签名
3、对比了Gitlab和Jenkins打包的版本,发现出问题的版本是开发直接手动替换上去的,那就没有走Jenkins的签名的流程,而网上的排查讨论都是指向了禁用签名检测,那我们只需要走一步正常的签名流程即可
4、设置窗口置顶的方法,可以参考:.NET 窗口置于最顶层 - 唐宋元明清2188 - 博客园