乐筑天下

搜索
欢迎各位开发者和用户入驻本平台 尊重版权,从我做起,拒绝盗版,拒绝倒卖 签到、发布资源、邀请好友注册,可以获得银币 请注意保管好自己的密码,避免账户资金被盗
查看: 150|回复: 11

CAD二次开发多版本编译的一次记录

[复制链接]

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

铜币
18
发表于 2022-7-8 14:41:00 | 显示全部楼层 |阅读模式
1.新建项目,这里以CAD2014、2016、2019三个版本举例。添加CAD2014、CAD2016、CAD2019三个项目

emcwjhwslhn.png

emcwjhwslhn.png

回复

使用道具 举报

75

主题

306

帖子

10

银币

中流砥柱

Rank: 25

铜币
606
发表于 2022-7-8 16:04:00 | 显示全部楼层
狗尾续下貂
  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))  ) ) ;路径自己改
回复

使用道具 举报

11

主题

24

帖子

4

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
68
发表于 2022-7-9 18:15:00 | 显示全部楼层
我以前是通过自定义编译前事件来修改 .csproj 文件对不同版本CAD条件编译,只需要创建一个项目,缺点是一次只能编译一个版本并需要重新加载项目。
现在有 MSBuild 这一神器,一个 csproj 就可以对多个平台编译,楼主可以了解下。
回复

使用道具 举报

13

主题

61

帖子

20

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
98
发表于 2022-7-10 10:00:00 | 显示全部楼层

msbuild   yyds
回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

铜币
18
发表于 2022-7-8 14:44:00 | 显示全部楼层

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

t1fvk5g0as2.png

t1fvk5g0as2.png

回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

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

bzfjpnwoklz.png

bzfjpnwoklz.png

回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

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

ltlogqh012h.png

ltlogqh012h.png

回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

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

p4tgudsvklq.png

p4tgudsvklq.png


xzfdyhvzl1e.png

xzfdyhvzl1e.png


xwhuslcyrhh.png

xwhuslcyrhh.png


gmyh55i2sdj.png

gmyh55i2sdj.png

回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

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

45akyfdp31d.png

45akyfdp31d.png

回复

使用道具 举报

2

主题

10

帖子

1

银币

初来乍到

Rank: 1

铜币
18
发表于 2022-7-8 14:57:00 | 显示全部楼层
现在就可以直接同时生成多个版本的dll啦。
注:如果低版本和高版本在某些函数接口有差别的话,我们可利用条件编译针对不同的版本做不同的处理。

lbg2c42z3lr.png

lbg2c42z3lr.png


mkjcd2fjqjf.png

mkjcd2fjqjf.png


rnbcip5venc.png

rnbcip5venc.png

回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

QQ|关于我们|小黑屋|乐筑天下 繁体中文

GMT+8, 2025-1-31 16:02 , Processed in 0.225146 second(s), 86 queries .

© 2020-2025 乐筑天下

联系客服 关注微信 帮助中心 下载APP 返回顶部 返回列表