BricsCAD C#编程报错求助:BadImageFormatException与FileNotFoundException
针对BricsCAD C#开发中TD_Mgd.dll相关错误的解决方案
我之前做BricsCAD的C#二次开发时,刚好碰到过几乎一模一样的问题,给你几个实际验证有效的排查和解决方向:
先解决
System.BadImageFormatException的核心问题
这个错误90%以上都是32位/64位平台不匹配导致的:- 打开你的Visual Studio 2017项目,右键项目→属性→生成→平台目标,选择和你安装的BricsCAD完全一致的位数(x86对应32位BricsCAD,x64对应64位),绝对不要选
Any CPU - 同时去BricsCAD的安装目录(比如
C:\Program Files\Bricsys\BricsCAD V22\API\dotnet)确认TD_Mgd.dll的位数,确保和你的项目平台目标匹配
- 打开你的Visual Studio 2017项目,右键项目→属性→生成→平台目标,选择和你安装的BricsCAD完全一致的位数(x86对应32位BricsCAD,x64对应64位),绝对不要选
处理改.NET版本后出现的
System.IO.FileNotFoundException
这个错误通常是引用的DLL路径或版本兼容性问题:- 检查项目引用的
TD_Mgd.dll是否来自当前安装的BricsCAD的API目录,不要使用旧版本或其他来源的DLL - 右键项目中引用的
TD_Mgd.dll→属性,将复制本地设置为True,这样编译后DLL会被自动复制到输出目录,避免运行时找不到 - 注意BricsCAD的API对.NET版本有严格要求,比如3.6.0.0版本的
TD_Mgd.dll大概率对应.NET Framework 4.6或4.7,不要随意切换.NET版本,最好对照你使用的BricsCAD版本的官方API说明来选择匹配的.NET版本
- 检查项目引用的
额外的排查小技巧
- 手动清理项目的
bin和obj目录,然后重新编译,避免旧的编译残留文件干扰 - 如果你是用BricsCAD官方模板创建的项目,检查模板自带的引用路径是否正确,如果你把BricsCAD装在了非默认路径,需要手动更新引用的DLL路径
- 手动清理项目的
内容的提问来源于stack exchange,提问作者Yiğit Osman Taner
相关产品推荐
相关产品推荐

