欢迎加我的QQ群:193522571,一起来讨论、交流!

条件编译解决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

 

posted @   swtool  阅读(1810)  评论(1编辑  收藏  举报
编辑推荐:
· .NET 原生驾驭 AI 新基建实战系列:向量数据库的应用与畅想
· 从问题排查到源码分析:ActiveMQ消费端频繁日志刷屏的秘密
· 一次Java后端服务间歇性响应慢的问题排查记录
· dotnet 源代码生成器分析器入门
· ASP.NET Core 模型验证消息的本地化新姿势
阅读排行:
· ThreeJs-16智慧城市项目(重磅以及未来发展ai)
· .NET 原生驾驭 AI 新基建实战系列(一):向量数据库的应用与畅想
· Ai满嘴顺口溜,想考研?浪费我几个小时
· Browser-use 详细介绍&使用文档
· 软件产品开发中常见的10个问题及处理方法
欢迎加我的QQ群:193522571,一起来讨论、交流!
点击右上角即可分享
微信分享提示