条件编译解决AutoCAD多版本问题
条件编译的原理是满足【条件编译符号】(见下图)时代码才有用,这帮我们CAD二次开发人解决一个很大的难题,我们可以只用维护一套代码就可以了,避免多套代码管理起来混乱
我采用的是:一套代码文件加若干project框架来实现,打个简单的比喻,project框架相当于是一个酒瓶子,而代码则是其中的酒,瓶子可以有不同的外形(.net版本、cad版本),也可以贴不同的标签(相当于引用文件),但不管怎么弄,里面的酒(代码,采用【从主程序中链接的方式,见后面的图片】)都还是酒……
示例解决方案
http://pan.baidu.com/s/1gdsWSVp
以下为示例代码:
1 2 3 4 5 6 7 | #if(CadVersion2013) //当工程为2013版(应用于CAD2013)时,以下代码为有效可编译代码 string code2013= "" ; #elif(CadVersion2010) //当工程为2010版(应用于CAD2010)时,以下代码为有效可编译代码 string code2010= "" ; #endif |
更多方法可以参考下面的链接:
http://forums.autodesk.com/t5/NET/make-one-dll-run-in-all-autocad-versions/m-p/4876730#M39560
http://www.theswamp.org/index.php?topic=41868.msg497509#msg497509
【推荐】还在用 ECharts 开发大屏?试试这款永久免费的开源 BI 工具!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法