乐筑天下

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

c#关于cad二次开发时候的dll文件不能卸载,需要每次关闭打开cad 的问题

[复制链接]

1

主题

2

帖子

2

银币

初来乍到

Rank: 1

铜币
6
发表于 2018-5-3 23:07:00 | 显示全部楼层 |阅读模式
最近在学习c#关于cad 的二次开发,但是调试时候需要每次启动cad,由于使用的cad2014版本,启动很慢,如果每次调试时候都启动cad很消耗时间,于是乎打算网上找找有没有有类似的问题,真还发现有人做了,这是他的原始方案:”新手不能发表链接,直接搜索引擎搜索 .net二次开发netload不能卸载问题解决方法  不出意外就是第一条“,本来打算直接用算了,但是发现在vs2015+cad2014中出现很多问题,所以决定重新写一下,代码如下:
[code]using System;
using Autodesk.AutoCAD.Runtime;
using System.Windows.Forms;
using Autodesk.AutoCAD.EditorInput;
namespace netload
{
    public class netload
   
    {
       [CommandMethod("dtts")]//启动命令
        public void dtts()//建立公共入口函数
        {
            String[] file_dir;
            //Autodesk.AutoCAD.Windows.OpenFileDialog cad = new Autodesk.AutoCAD.Windows.OpenFileDialog;
            System.Windows.Forms.OpenFileDialog ofd = new System.Windows.Forms.OpenFileDialog();//"选择动态链接文件",null,"dll","打开dll文件", Autodesk.AutoCAD.Windows.OpenFileDialog.OpenFileDialogFlags.DefaultIsFolder);
            ofd.Multiselect = true;
            //ofd.ShowDialog();
            ofd.Filter = "Files (*.dll)|*.dll";//如果需要筛选txt文件("Files (*.txt)|*.txt")
            if (ofd.ShowDialog()==DialogResult.OK)
              {
                file_dir = ofd.FileNames;
                Editor ed = Autodesk.AutoCAD.ApplicationServices.Application.DocumentManager.MdiActiveDocument.Editor;
                string b = Convert.ToString(file_dir.Length);
                b = "共选择" + b + "个动态链接库文件,路径如下:";
                ed.WriteMessage("\n"+b);
                 for (int i = 0; i

4ef4nbpjnl4.jpg

4ef4nbpjnl4.jpg


8、按F6生成解决方案。
9、在cad中命令行键入"dtts"命令(当然命令的名称可以在代码中修改),不带引号,加载需要调试的文件,可以多选,如下图:

lcyty0co5vn.jpg

lcyty0co5vn.jpg


424nom0l3kt.jpg

424nom0l3kt.jpg


10、至此,dll文件不通过netload命令成功加入文件到cad中。
11、回到vs调试文件后,让然可以按F6重新生成解决方案,生成成功,说明可以文件未被占用。
12、重复9-11步骤后,可以在不关闭cad的情况下多次调试文件。
之所以不上成品文件,是因为cad的版本众多,可能cad2014的版本引用不能满足其他版本的要求,不容易达到效果。
写在最后:感谢新浪博客的中华田园人,和论坛大神“brbright”的支持,由于本人是个菜鸟,刚接触c#,存在诸多错误请大家多多包含。
回复

使用道具 举报

11

主题

92

帖子

10

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
135
发表于 2021-4-28 20:04:00 | 显示全部楼层
关于卸载dll的好文章啊!!!1
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2021-5-14 14:37:00 | 显示全部楼层
我在AutoCAD 2019测试是不成功的;初次装载dll没有报异常,但dll里面的命令没有识别出来,再次装载则报异常;我在中望CAD 2020测试是部分成功,初次装载可以识别命令,但再次装载也报异常。
楼上的,此方法是覆盖已有,并不是卸载dll.
回复

使用道具 举报

0

主题

21

帖子

6

银币

初来乍到

Rank: 1

铜币
21
发表于 2021-5-14 18:55:00 | 显示全部楼层

看我这个https://www.cnblogs.com/JJBox/p/13833350.html
回复

使用道具 举报

32

主题

651

帖子

8

银币

中流砥柱

Rank: 25

铜币
779
发表于 2021-5-17 14:24:00 | 显示全部楼层

好的,谢谢你!那个帖子有点长,后面有时间再认真仔细学习一下。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 00:49 , Processed in 0.213915 second(s), 65 queries .

© 2020-2024 乐筑天下

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