MastroLube 发表于 2021-3-22 06:14:58

命令无法识别方法

大家好!
我在运行时遇到问题。我创建的dll..我正在学习udemy上的一门课程,但是对我来说,它不会加载任何东西..谁能告诉我有什么问题吗?
我有这个类的解决方案:
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Runtime;

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

huiz 发表于 2021-3-22 06:56:08

我觉得你的课应该是公开的。

Hanauer 发表于 2021-3-23 08:08:04

你选择了正确的。网络版?
对于AutoCAD 2020:。NET框架4.7。

CADbloke 发表于 2021-3-26 06:09:04

@huiz是正确的。一个类是内部默认情况下多人

Bryco 发表于 2021-5-7 14:34:13


我从内部类运行命令,但我确实有命令类,上面的代码似乎缺少
命名空间cnc
{
内部类Cnc
{

CADbloke 发表于 2021-5-7 16:03:14


class ControlsDemoUtil
需要
public class ControlsDemoUtil

MickD 发表于 2021-5-8 22:05:51

我使用 Entry 类和 Commands 类的最小值设置了我的应用,你需要(?) 通过使用“程序集”注释让运行时知道。当然,这些类必须是公开的。hth// 设置入口点:。


// 让 cad 知道我们的命令类名是什么:。


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

jtoverka 发表于 2021-5-10 07:28:07

我是唯一一个使用public
static
类来声明方法和lisp函数的人吗?

Bryco 发表于 2021-5-10 21:12:42

Depends,
如果您希望每个文档都有不同的实例,其中可能将数据存储在 ae 文档所依赖的命令类的属性中,那么您不希望将其设置为静态。
页: [1]
查看完整版本: 命令无法识别方法