乐筑天下

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

命令无法识别方法

[复制链接]

44

主题

139

帖子

95

银币

后起之秀

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

铜币
221
发表于 2021-3-22 06:14:58 | 显示全部楼层 |阅读模式
大家好!
我在运行时遇到问题。我创建的dll..我正在学习udemy上的一门课程,但是对我来说,它不会加载任何东西..谁能告诉我有什么问题吗?
我有这个类的解决方案:
  1. using Autodesk.AutoCAD.ApplicationServices;
  2. using Autodesk.AutoCAD.DatabaseServices;
  3. using Autodesk.AutoCAD.Runtime;
  4. [code]
  5. namespace ControlsDemo
  6. {
  7.     class ControlsDemoUtil
  8.     {
  9.         [CommandMethod("Test")]
  10.         public void Demo()
  11.         {
  12.             MainForm mf = new MainForm();
  13.             mf.Show();
  14.         }
  15.     }
  16. }

当我用netload加载DLL时,无法识别关键字“Test ”(它甚至不存在!)
我使用版本23.1的AcCoreMgd、AcDbMgd和AcMgd作为参考进行编译(我运行的是Autocad 2020)
我不知道我错过了什么,我已经按照Autocad教程创建了一个DLL,并且运行得很好(这是不久前的事了..).
我不明白这简单的几行代码失败在哪里..如果我找不到答案,我将无法继续这个教程....

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

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

使用道具 举报

14

主题

275

帖子

6

银币

后起之秀

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

铜币
331
发表于 2021-3-22 06:56:08 | 显示全部楼层
我觉得你的课应该是公开的。
回复

使用道具 举报

0

主题

6

帖子

1

银币

初来乍到

Rank: 1

铜币
6
发表于 2021-3-23 08:08:04 | 显示全部楼层
你选择了正确的。网络版?
对于AutoCAD 2020:。NET框架4.7。
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

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

铜币
327
发表于 2021-3-26 06:09:04 | 显示全部楼层
@huiz是正确的。一个类是内部默认情况下多人
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2021-5-7 14:34:13 | 显示全部楼层
[assembly: CommandClass(typeof(ControlsDemo.class ControlsDemoUtil))]
我从内部类运行命令,但我确实有命令类,上面的代码似乎缺少
命名空间cnc
{
内部类Cnc
{
回复

使用道具 举报

23

主题

239

帖子

6

银币

后起之秀

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

铜币
327
发表于 2021-5-7 16:03:14 | 显示全部楼层

class ControlsDemoUtil
需要
public class ControlsDemoUtil
回复

使用道具 举报

69

主题

875

帖子

15

银币

顶梁支柱

Rank: 50Rank: 50

铜币
1146
发表于 2021-5-8 22:05:51 | 显示全部楼层
我使用 Entry 类和 Commands 类的最小值设置了我的应用,你需要(?) 通过使用“程序集”注释让运行时知道。当然,这些类必须是公开的。hth// 设置入口点:。
[assembly: ExtensionApplication(typeof(MyAppNameSpace.MyAppEntry))]。

// 让 cad 知道我们的命令类名是什么:。
[assembly: CommandClass(typeof(MyAppNameSpace.Commands))]。

命名空间 MyAppNameSpace。
{。
/// 。
这个类是 BricsCAD/Autocad 的入口点,它至少被调用一次。
当您使用“Netload”来加载和配置应用程序时。
继承的 IExtension 应用程序只能有一个实例。
每个类库的 /// ,。
此类可用于存储应用范围(全局类似)变量、方法和初始化,。
/// 。
公共类 MyAppEntry : IExtensionApplication。
{。
// 在这里做一些事情:。

回复

使用道具 举报

26

主题

128

帖子

2

银币

后起之秀

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

铜币
231
发表于 2021-5-10 07:28:07 | 显示全部楼层
我是唯一一个使用public
static
类来声明方法和lisp函数的人吗?
回复

使用道具 举报

170

主题

1424

帖子

8

银币

顶梁支柱

Rank: 50Rank: 50

铜币
2119
发表于 2021-5-10 21:12:42 | 显示全部楼层
Depends,
如果您希望每个文档都有不同的实例,其中可能将数据存储在 ae 文档所依赖的命令类的属性中,那么您不希望将其设置为静态。
回复

使用道具 举报

发表回复

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

本版积分规则

  • 微信公众平台

  • 扫描访问手机版

  • 点击图片下载手机App

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

GMT+8, 2024-11-22 01:15 , Processed in 0.272559 second(s), 70 queries .

© 2020-2024 乐筑天下

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