乐筑天下

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

[求助]如何卸载net程序,实现netload/netunload

[复制链接]

4

主题

19

帖子

2

银币

初来乍到

Rank: 1

铜币
35
发表于 2009-10-21 14:45:00 | 显示全部楼层 |阅读模式
看到那一段英文了 似乎是要改edit and continue
但还是看不明白
谁成功实现netload/netunload过 能说一下吗?
回复

使用道具 举报

1

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
9
发表于 2018-5-31 14:49:00 | 显示全部楼层

再次加载时没法覆盖程序集,抛出命令重复的异常,老铁知道为什么不?版本号已经修改了。。Cannot load assembly. Error details: Autodesk.AutoCAD.Runtime.Exception: eDuplicateKey
at Autodesk.AutoCAD.Runtime.Interop.Check(Int32 returnValue)
   at Autodesk.AutoCAD.Runtime.CommandClass.AddCommand(ICommandLineCallable ca, MethodInfo mi)
   at Autodesk.AutoCAD.ApplicationServices.AutoCADApplicationHolder.Initialize(Assembly assembly)
   at Autodesk.AutoCAD.ApplicationServices.ExtensionLoader.ProcessAssembly(Assembly assembly)
回复

使用道具 举报

1

主题

5

帖子

2

银币

初来乍到

Rank: 1

铜币
9
发表于 2018-5-31 09:24:00 | 显示全部楼层
找到问题了,我是用cad开发向导建的项目,把项目里的这一段初始代码
复制代码
删掉,就可以正常加载了。。不晓得为什么。。
回复

使用道具 举报

2

主题

7

帖子

4

银币

初来乍到

Rank: 1

铜币
15
发表于 2019-8-7 01:52:00 | 显示全部楼层

最近也遇到这个问题,根据测试,是项目填的太多了,不要"MyGroup":
[CommandMethod("MyGroup", "MyCommand", "MyCommandLocal", CommandFlags.Modal)]
用简化的模式,大部分都没有问题
[CommandMethod(, "MyCommand", CommandFlags.Modal)]
回复

使用道具 举报

72

主题

2726

帖子

9

银币

社区元老

Rank: 75Rank: 75Rank: 75

铜币
3014
发表于 2009-10-21 15:09:00 | 显示全部楼层
edit and continue 是调试时用的
没有netunload,或者说.Net程序无法卸载
回复

使用道具 举报

4

主题

19

帖子

2

银币

初来乍到

Rank: 1

铜币
35
发表于 2009-10-21 15:18:00 | 显示全部楼层
谢谢版大
只能重开cad了?。
回复

使用道具 举报

1

主题

16

帖子

9

银币

初来乍到

Rank: 1

铜币
22
发表于 2014-5-8 15:06:00 | 显示全部楼层
我也试了好多次,没用。
回复

使用道具 举报

89

主题

410

帖子

8

银币

中流砥柱

Rank: 25

铜币
766
发表于 2014-5-9 08:15:00 | 显示全部楼层
买新机器吧,我就是这么做的,开CAD6秒。
回复

使用道具 举报

19

主题

154

帖子

5

银币

后起之秀

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

铜币
230
发表于 2014-5-9 18:37:00 | 显示全部楼层
你可以了解一下AppDomain,.NET程序不能像C++写就的dll(arx就是其中的一种)那样卸载。我感觉托管程序的加载、卸载相对于传统本地dll应该要容易一些,不知道微软当初设计的时候是出于什么考虑,不提供这种实现功能,现在导致每次重新编译之后就得重新启动CAD再加载一次,严重影响了效率
回复

使用道具 举报

11

主题

60

帖子

7

银币

初露锋芒

Rank: 3Rank: 3Rank: 3

铜币
104
发表于 2016-9-10 15:35:00 | 显示全部楼层
不要用NETLOAD,将dll复制到内存再加载,可以避免文件被占用。
//打开文件,将文件以二进制方式复制到内存,自动关闭文件
byte[] buffer = System.IO.File.ReadAllBytes(file_dir);
//加载内存中的文件
Assembly assembly = Assembly.Load(buffer);
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 00:25 , Processed in 0.216300 second(s), 83 queries .

© 2020-2024 乐筑天下

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