.net 2.0插件_.net插件开发

.NET 多版本兼容:开发适用于AutoCAD 和的插件

背景

程序员都清楚,传统的 .NET Framework 和现代化的 .NET 是完全不同的运行时环境。

具体而言,.NET Framework 及其以下版本与 .NET6、.NET7、 .NET8、.NET9属于两套不同的运行时框架。

从 AutoCAD 版本开始,引入了跨平台的 .NET 架构,正式支持 .NET 。

初步测试,AutoCAD 可以加载通过 .NET 开发的 DLL 插件,同时也能加载通过 .NET 到 开发的 DLL 插件

通过 .NET 开发的 DLL 插件无法在低版本的 AutoCAD 中加载运行

如何通过一套代码,用 .NET 完成多个AutoCAD版本的兼容?

实现方法

该应用程序实现了一个名为 ellipsejig 的命令。

它实现从头开始创建椭圆。首先要求用户输入椭圆长轴,然后输入椭圆短轴。

以下代码通过 ellipsejig 的命令交互式命令方式实现了在 AutoCAD 中创建椭圆的功能,允许用户通过交互式操作定义椭圆的主轴和短轴。

1、下载objectarx-sdk。

访问:https://aps.autodesk.com/developer/overview/autocad-objectarx-sdk-downloads

2、下载代码

链接: https://pan.baidu.com/s/1GWGdi73hINeMBaPd-QICmg?pwd=4vuf 提取码: 4vuf

代码其实就是刚才sdk解压后,包含的示例,只是做了兼容性修改。

3、修改Ellipsejig.csproj文件。

在尝试构建此项目之前,请从 ObjectARX SDK 目录中添加引用 acdbmgd.dllaccoremgd.dllacmgd.dll 进行相应配置。

项目结构可容纳多个框架。


  
JigSample
Library
JigSample
net8.0-windows
False
x64
ACAD2022;ACAD2025
bin


net8.0-windows
C:\Autodesk\objectarx-for-autocad-\inc\;$(AssemblySearchPaths)


net48
C:\Autodesk\objectarx-for-autocad-\inc\;$(AssemblySearchPaths)






False


False


False


4、编译源码

  • ? 构建 AutoCAD 插件
  • dotnet build Ellipsejig.csproj -c ACAD2022 -a x64
  • ? 构建 AutoCAD 插件
  • dotnet build Ellipsejig.csproj -c ACAD2025 -a x64

或者,也可以通过 Visual Studio UI 进行构建。

在 Visual Studio 中打开 EllipseJig 项目,将 ACAD2022 或 ACAD2025 配置设为默认,以构建各自版本的项目。

5、运行体验

使用 JigSample.dll:

1、启动 AutoCAD 并打开一个新图形。

2、输入netload 并从 AutoCAD 的 \bin\x64\ACAD2024 子文件夹中选择 JigSample.dll 或者 \bin\x64\ACAD2025

3、执行 JigSample.dll 定义的 ellipsejig 命令。

可以看到生成了2个版本的编译文件

原文链接:,转发请注明来源!