乐筑天下

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

适用于任何 AutoCAD 版本的相同(智能)AutoCAD .Net 扩展模板

[复制链接]

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-11 10:31:24 | 显示全部楼层 |阅读模式
创建此模板是为了解决以下任务:
1该模板提供了一些基本功能和结构(与任何模板一样)。
2.在目标AutoCAD版本之间切换以进行调试和代码编写的可能性。发生的目标AutoCAD切换时,必须自动更新所有引用和项目设置。
3.通过“鼠标一键”对所有必要的AutoCAD版本进行简单编译。
4.创建入口点。
5.在计算机之间快速切换以进行调试的可能性:本地主机或任何远程计算机。例如,可以在WinXPx86、Win7x64和Win7x86控制下工作的机器上测试和调试代码,以确保它在所有必要的操作系统上正常工作。
6.将设置分为三组:常规设置(影响所有项目);AutoCAD项目的常规设置(影响所有AutoCAD扩展的项目);以及单个设置(仅影响特定项目)。不属于单个项目的设置将立即应用于所有现有项目和再次创建的项目。这种方法允许对所有必要的项目立即进行快速、轻松的更改。
7.
基于此模板的所有项目的可移植性
。在一台计算机上,ObjectARX SDK的分发包可以直接在磁盘上解包“C:\”或“D:\”(
最恶心的变体
),在另一台计算机中,解包不是在根目录中进行的,而是在为此目的专门拿走的子目录中进行,例如“%HOMEDRIVE%\SDK”(
它已经好得多了。我更喜欢将其解压缩到“%SDK%\
\
\
”的目录中。由我创建的%SDK%Windows变量始终指示任何SDK的通用目录。由于我不仅限于使用ObjectARX SDK,因此在我看来,这种方法是最合理的。我们将返回可移植性…在这种情况下,我的意思是,当在复制项目的计算机上时,不需要重新连接项目的引用,ObjectARX SDK的位置与原始计算机上的位置不同。如果一个项目被转移-重新连接其引用不是问题,但也不会带来乐趣,特别是如果考虑到这一点,那么该项目可能需要复制到原始计算机上,然后再次重新连接所有引用。然而,当复制的项目数量很大时,这种引用的重新连接已经变得非常不方便
我仍然没有通过CADbloke学习同一主题的决策变体,但现在我可以做到了(我将学习它)。我将很高兴听到关于我在视频中指定的想法的有用的评论和祝愿。如果除了我和<strong>CADbloke</strong>之外还有人对类似的问题感兴趣……<br>P.S.我为我糟糕的英语道歉。

本帖以下内容被隐藏保护;需要你回复后,才能看到!

游客,如果您要查看本帖隐藏内容请回复
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-11 13:37:07 | 显示全部楼层
哦…我忘了从视频中删除声音,正如我看到的。因此,我现在从youtube上删除视频。明天我会再做一次并发布视频。此外,我还将展示一些其他内容。现在我在家。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-12 14:19:41 | 显示全部楼层
我重写了视频并加入了英文评论。我在这个主题的第一条消息中更新了链接。另外,我在这里找到了相同的(视频中的)评论(任何人都可能会感兴趣)。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 04:19:35 | 显示全部楼层
我更新了我的第一条消息:添加了一些关于此模板用途的说明。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 05:23:51 | 显示全部楼层
作为其实际使用的示例,我使用此模板创建了一个用于处理代理实体和代理对象的程序集。查看附加的代理。zip文件-它是包构建的结果。它创建得很快,没有问题。代理dll是一个入口点-它可以加载到任何AutoCAD中(正如我已经编写的)。我在AutoCAD 2009-2015 x64中测试了它。我从这里将代码源复制到新项目中。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 06:45:42 | 显示全部楼层
我对模板有一个想法:可以编写外部应用程序,该应用程序将位于系统托盘中。它将根据需要修改csproj文件。因此,没有必要像我之前所做的那样创建特殊模板。这种方式将更加清晰和安全。现在我正在考虑这个...
独白结束了。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 07:16:50 | 显示全部楼层
我已经研究了一段时间,并仔细研究了Andrey的解决方案。我还没有为我的解决方案编写模板(我需要专注于我当前的项目,而不是让开始新项目变得太容易)。我的比Andrey的更不完整,没有他的一些想法,比如远程调试(这是个好主意)和Entry Point DLL(也很棒)。
我的方法与Andrey的有点不同(我在这里解释过),可能有点不理智。请参阅附件中的图片。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 07:23:57 | 显示全部楼层
对我来说,您的屏幕似乎不是一种“
简单方便的方式
”。最有可能的是,它看起来像是一种简单的
自杀
方式(无论如何对我来说)。这是我的“黑色”幽默,微笑。 如此庞大的列表确实让我感到恐惧。我知道,我的方式也不理想...
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 08:12:54 | 显示全部楼层
是的,这些列表是巨大的-我很傻,这是一个我用来测试每个SDK版本的所有可能性的项目。大多数项目只有调试和发布版本,而不是调试和发布的试用版和付费版。实际项目中的列表并不长,通常为调试和发布各5-10个。我通常将Visual Studio设置为AutoCAD 2015调试以编写代码。如果我想测试所有东西是否都生成,我只需使用VS菜单“生成->批生成…”选择“全部…”重新生成(见图),它们将为每个版本生成到不同的文件夹中(见图)
那个包含所有内容的大列表的测试项目使用批构建在oneVisual Studio项目中,在45秒内构建了126个DLL。对于一个真正的项目,我绝不会这样做,我通常最多构建5-10个调试和发布版本
试用版和付费版设置了编译常量,因此我可以使用相同的代码更改不同版本的版本。如果我想制作一个插件的试用版并禁用某些功能或更改许可证,我只会使用它们来构建一个插件供销售。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

Rank: 20Rank: 20Rank: 20Rank: 20

铜币
327
发表于 2015-3-13 14:15:00 | 显示全部楼层
我认为这是个好主意,但不好实施。您可以只拥有调试和发布配置——这就足够了,因为您可以通过msbuild参数设置额外的编译常量(试用或付费)。例如,您可以在cspoj文件中编写如下内容:
  1. $(Constans);TRACE;DEBUG;

并为常数属性设置必要的值,此时MSBuild将生成您的程序集:
  1. MSBuild.exe /t:Rebuild /p:Configuration=Release /p:Constans=TRIAL ".\YourProject.csproj"
  2. MSBuild.exe /t:Rebuild /p:Configuration=Release /p:Constans=PAID  ".\YourProject.csproj"

回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2025-2-5 04:07 , Processed in 0.171800 second(s), 72 queries .

© 2020-2025 乐筑天下

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