明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 3710|回复: 18

[基础] CAD二次开发多版本编译的一次记录

[复制链接]
发表于 2022-7-8 14:41:57 | 显示全部楼层 |阅读模式
本帖最后由 MyNameIsLiLei 于 2022-7-8 14:50 编辑

1.新建项目,这里以CAD2014、2016、2019三个版本举例。添加CAD2014、CAD2016、CAD2019三个项目

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-7-8 16:04:49 | 显示全部楼层
狗尾续下貂
  1. ;建个对照表
  2. (setq DLL '(("18.0" "CAD2010.dll")
  3.             ("19.1" "CAD2014.dll")
  4.             ("20.0" "CAD2016.dll")
  5.             ("20.1" "CAD2016.dll")
  6.             ("21.0" "CAD2017.dll")
  7.             ("22.0" "CAD2018.dll")
  8.             ("23.0" "CAD2019.dll")
  9.             ))

  10. (command "netload" (strcat "E:/TEST/" (cadr (assoc (substr (getvar "acadver") 1 4) DLL))  ) ) ;路径自己改
发表于 2022-7-9 18:15:11 | 显示全部楼层
我以前是通过自定义编译前事件来修改 .csproj 文件对不同版本CAD条件编译,只需要创建一个项目,缺点是一次只能编译一个版本并需要重新加载项目。
现在有 MSBuild 这一神器,一个 csproj 就可以对多个平台编译,楼主可以了解下。
发表于 2023-3-5 10:11:00 | 显示全部楼层
MyNameIsLiLei 发表于 2022-7-8 14:44
2.给每个项目添加相关的引用。

请问:
添加引用:AcCui.dll,acdbmgd.dll,acmgd.dll;这三个dll在CAD的安装目录下。意味着要同时安装三个版本的CAD?
 楼主| 发表于 2022-7-8 14:44:16 | 显示全部楼层
本帖最后由 MyNameIsLiLei 于 2022-7-8 14:51 编辑

2.给每个项目添加相关的引用。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-7-8 14:52:32 | 显示全部楼层
3.我们在低版本里面添加代码,在高版本里面引用低版本里面的代码(或者新建一个公共目录,存放所有代码)。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-7-8 14:53:46 | 显示全部楼层
4.这里给CAD2014添加了一个Test.cs类,并添加测试代码。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-7-8 14:55:12 | 显示全部楼层
5.在CAD2016项目里右键 -- 添加 -- 现有项 ,找到上面Test.cs所在的文件目录 注意右下角的添加 ,边上有个三角小箭头 ,展开-- 点击添加为链接。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-7-8 14:56:18 | 显示全部楼层
CAD2019操作同CAD2016,添加完后结果是这样的。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
 楼主| 发表于 2022-7-8 14:57:23 | 显示全部楼层
现在就可以直接同时生成多个版本的dll啦。

注:如果低版本和高版本在某些函数接口有差别的话,我们可利用条件编译针对不同的版本做不同的处理。


本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?注册

x
发表于 2022-7-8 15:40:58 | 显示全部楼层
再补一个动态加载DLL的代码就全了
发表于 2022-7-8 17:54:38 | 显示全部楼层
谢谢分享              
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 05:18 , Processed in 0.169066 second(s), 25 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表