You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

WinUI3移植WinForm项目遇Basler.Pylon.dll加载异常求助

WinUI3移植Basler Pylon相机项目的错误解决方法

x86平台:System.IO.FileNotFoundException(找不到Basler.Pylon.dll)

  • 确认Basler.Pylon.dll的复制到输出目录设置为「始终复制」,避免因WinUI3多级输出目录(如x86/Debug/net6.0-windows10.0.19041.0)导致dll未出现在exe同级目录。
  • 检查引用的Basler.Pylon.dll是否为纯x86版本,禁止混用x64版本的库文件。
  • 手动复制Basler相机库的所有依赖dll(如PylonCXPHelper.dll、PylonRuntime.dll等)到WinUI3项目输出目录,WinUI3的引用机制可能未自动同步WinForm项目中已加载的隐式依赖。

x64平台:System.TypeInitializationException(含C++模块加载失败、SEHException)

  • 安装对应x64版本的Microsoft Visual C++ Redistributable,Basler Pylon库依赖特定版本的VC++运行时(如2019或2022版),需与库的编译环境匹配。
  • 升级Basler Pylon库至支持.NET 5/6+的版本(如Pylon 7.x),旧版本Pylon可能仅兼容.NET Framework,与WinUI3的.NET环境冲突。
  • 若手动引用原生库而非NuGet包:右键项目→属性→配置属性→C/C++→常规,添加Basler头文件路径;链接器→输入→附加依赖项添加对应x64版本的lib文件;若使用NuGet,确保安装的是x64专属包。

直接运行exe:Microsoft.ui.xaml.dll加载失败

  • 确保目标机器安装了Windows App Runtime,调试版exe依赖调试运行时,建议用Release模式编译后再单独运行。
  • 采用MSIX打包项目,打包过程会自动嵌入WinUI3所需的运行时依赖,部署后可解决模块缺失问题。

通用排查步骤

  • 用Dependency Walker(depends.exe)扫描exe和Basler.Pylon.dll,定位缺失的依赖项或x86/x64版本不匹配的文件。
  • 手动删除项目的bin和obj目录后重新生成,清理缓存的旧文件。
  • 确认WinUI3项目的目标Windows版本(如Windows 10 19041+)与Basler库支持的系统版本兼容。

内容的提问来源于stack exchange,提问作者FUSE0604

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 06:25:01