Я пытаюсь создать плагин для Autocad 2018 с использованием Visual Studio 2019. Net Во-первых, я получаю предупреждение в VS, когда отладка «Любой ЦП», ошибка исчезает, когда я переключаюсь на x64 , После сборки проекта и наличия файла .dll и I go для Autocad и загрузки его с помощью команды NETLOAD, при попытке загрузить мой метод или «CommandMethod» он не отображается.
- Я пытался изменить. Net Framework на любую имеющуюся у меня версию с 4.7.2 до 4.5
Пробовал разные коды из других источников и все еще без результатов Должен ли я использовать более высокую версию AutoCad? или я должен использовать более низкую версию VS, как 2017? В чем может быть проблема? Вот код:
using Autodesk.AutoCAD.ApplicationServices;
using Autodesk.AutoCAD.DatabaseServices;
using Autodesk.AutoCAD.Geometry;
using Autodesk.AutoCAD.EditorInput;
using Autodesk.AutoCAD.Runtime;
using Autodesk.AutoCAD.ApplicationServices.Core;
[assembly: CommandClass(typeof(Testing.Class1))]
namespace Testing
{
public class Class1
{
[CommandMethod("MyFirstCommand")]
public void my()
{
Document doc=Application.DocumentManager.MdiActiveDocument;
Database db = doc.Database;
Editor edt = doc.Editor;
using (Transaction trans=db.TransactionManager.StartTransaction())
{
try
{
BlockTable bt;
bt = trans.GetObject(db.BlockTableId, OpenMode.ForRead) as BlockTable;
BlockTableRecord btr;
btr = trans.GetObject(bt[BlockTableRecord.ModelSpace], OpenMode.ForWrite) as BlockTableRecord;
// send message to the user
edt.WriteMessage("\nDrawing a line objet");
Point3d pt1 = new Point3d(0, 0, 0);
Point3d pt2 = new Point3d(100, 0, 0);
Line ln = new Line(pt1, pt2);
ln.ColorIndex = 1;
btr.AppendEntity(ln);
trans.AddNewlyCreatedDBObject(ln, true);
trans.Commit();
}
catch (System.Exception e)
{
edt.WriteMessage("Error Encountered" + e.Message);
trans.Abort();
}
}
edt.WriteMessage("Script loaded");
}
}
}