asukakik 发表于 2013-10-11 12:21:12

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

照着书上敲的代码,但是"CommandClass"还有"CommandMethod"都是提示找不到,不知道是引用少了什么还是别的问题。
请大家看看。
谢谢。using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.Runtime;


namespace ClassLibrary2
{
    public class Class1
    {
      
      public void AddblockDef()
      {
            Database db = HostApplicationServices.WorkingDatabase;
            BlockTableRecord btr = new BlockTableRecord();
            btr.Name = "bimcad";
            Line line = new Line(Point3d.Origin, new Point3d(10, 15, 0));
            Circle circle = new Circle(Point3d.Origin, Vector3d.ZAxis, 10);
            btr.AppendEntity(line);
            btr.AppendEntity(circle);
            AddBlockTableRecord(btr,db);
      }
      public ObjectId AddBlockTableRecord(BlockTableRecord btr, Database db)
      {
            ObjectId id = new ObjectId();
            using(Transaction transaction=db.TransactionManager.StartTransaction())
            {
                BlockTable bt = transaction.GetObject(db.BlockTableId, OpenMode.ForWrite) as BlockTable;
                id = bt.Add(btr);
                transaction.AddNewlyCreatedDBObject(btr, true);
                transaction.Commit();
            }
            return id;
      }
    }
}

epwt 发表于 2013-10-11 15:09:04

去cad安装目录寻找acdbmgd和acmgd两个dll,添加上引用。并把这两个dll属性中 复制本地设置为false。
引用
using Autodesk.AutoCAD.Runtime;

asukakik 发表于 2013-10-11 15:30:25

epwt 发表于 2013-10-11 15:09
去cad安装目录寻找acdbmgd和acmgd两个dll,添加上引用。并把这两个dll属性中 复制本地设置为false。
引用...

谢谢回答
我发现,引用cad2007版的这两个文件就没有问题,而如果引用cad2014版的这两个文件的话就会出现找不到的问题。

epwt 发表于 2013-10-11 15:34:45

asukakik 发表于 2013-10-11 15:30 static/image/common/back.gif
谢谢回答
我发现,引用cad2007版的这两个文件就没有问题,而如果引用cad2014版的这两个文件的话就会出现 ...

如果针对2007开发,必须使用2007的dll。
针对2014开发,就使用2014的dll。
之前做过向2013升级的工作,貌似2013以后要引用3个dll,其中有一个是XXCore的dll
欧特克开始做分离了。

asukakik 发表于 2013-10-11 15:57:29

epwt 发表于 2013-10-11 15:34
如果针对2007开发,必须使用2007的dll。
针对2014开发,就使用2014的dll。
之前做过向2013升级的工作, ...

嗯,的确是这样
页: [1]
查看完整版本: [求助]未能找到类型或命名空间名称"CommandClass"