明经CAD社区

 找回密码
 注册

QQ登录

只需一步,快速开始

搜索
查看: 2701|回复: 4

[求助]未能找到类型或命名空间名称"CommandClass"

[复制链接]
发表于 2013-10-11 12:21:12 | 显示全部楼层 |阅读模式
照着书上敲的代码,但是"CommandClass"还有"CommandMethod"都是提示找不到,不知道是引用少了什么还是别的问题。
请大家看看。
谢谢。
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Threading.Tasks;
  6. using Autodesk.AutoCAD.DatabaseServices;
  7. using Autodesk.AutoCAD.Geometry;
  8. using Autodesk.AutoCAD.Runtime;

  9. [assembly:CommandClass(typeof(Sample.Class1))]
  10. namespace ClassLibrary2
  11. {
  12.     public class Class1
  13.     {
  14.         [CommandMethod("AddBlockDef")]
  15.         public void AddblockDef()
  16.         {
  17.             Database db = HostApplicationServices.WorkingDatabase;
  18.             BlockTableRecord btr = new BlockTableRecord();
  19.             btr.Name = "bimcad";
  20.             Line line = new Line(Point3d.Origin, new Point3d(10, 15, 0));
  21.             Circle circle = new Circle(Point3d.Origin, Vector3d.ZAxis, 10);
  22.             btr.AppendEntity(line);
  23.             btr.AppendEntity(circle);
  24.             AddBlockTableRecord(btr,db);
  25.         }
  26.         public ObjectId AddBlockTableRecord(BlockTableRecord btr, Database db)
  27.         {
  28.             ObjectId id = new ObjectId();
  29.             using(Transaction transaction=db.TransactionManager.StartTransaction())
  30.             {
  31.                 BlockTable bt = transaction.GetObject(db.BlockTableId, OpenMode.ForWrite) as BlockTable;
  32.                 id = bt.Add(btr);
  33.                 transaction.AddNewlyCreatedDBObject(btr, true);
  34.                 transaction.Commit();
  35.             }
  36.             return id;
  37.         }
  38.     }
  39. }
发表于 2013-10-11 15:09:04 | 显示全部楼层
去cad安装目录寻找acdbmgd和acmgd两个dll,添加上引用。并把这两个dll属性中 复制本地设置为false。
引用
using Autodesk.AutoCAD.Runtime;
 楼主| 发表于 2013-10-11 15:30:25 来自手机 | 显示全部楼层
epwt 发表于 2013-10-11 15:09
去cad安装目录寻找acdbmgd和acmgd两个dll,添加上引用。并把这两个dll属性中 复制本地设置为false。
引用  ...

谢谢回答
我发现,引用cad2007版的这两个文件就没有问题,而如果引用cad2014版的这两个文件的话就会出现找不到的问题。
发表于 2013-10-11 15:34:45 | 显示全部楼层
asukakik 发表于 2013-10-11 15:30
谢谢回答
我发现,引用cad2007版的这两个文件就没有问题,而如果引用cad2014版的这两个文件的话就会出现 ...

如果针对2007开发,必须使用2007的dll。
针对2014开发,就使用2014的dll。
之前做过向2013升级的工作,貌似2013以后要引用3个dll,其中有一个是XXCore的dll
欧特克开始做分离了。
 楼主| 发表于 2013-10-11 15:57:29 来自手机 | 显示全部楼层
epwt 发表于 2013-10-11 15:34
如果针对2007开发,必须使用2007的dll。
针对2014开发,就使用2014的dll。
之前做过向2013升级的工作, ...

嗯,的确是这样
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|CAD论坛|CAD教程|CAD下载|联系我们|关于明经|明经通道 ( 粤ICP备05003914号 )  
©2000-2023 明经通道 版权所有 本站代码,在未取得本站及作者授权的情况下,不得用于商业用途

GMT+8, 2024-11-25 15:46 , Processed in 0.160812 second(s), 24 queries , Gzip On.

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表