# AutoCADDotNetLibrary.Debug
**Repository Path**: matadorbb/AutoCADDotNetLibrary.Debug
## Basic Information
- **Project Name**: AutoCADDotNetLibrary.Debug
- **Description**: AutoCAD二次开发,用于生成测试功能的脚本。
- **Primary Language**: C#
- **License**: MIT
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 6
- **Created**: 2023-07-08
- **Last Updated**: 2023-07-08
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# AutoCADDotNetLibrary.Debug
AutoCAD 二次开发,用于生成测试功能的脚本。

## 使用说明
在项目(.csproj)中使用如下示例:
```xml
net461
2013
2013
2023
true
```
## 功能
#### 生成
- 注册[AutoCAD 的注册表](https://help.autodesk.com/view/OARX/2019/CHS/?guid=GUID-70D60274-57E0-4B22-8D0C-3C7F212A7CAF),以便在本机测试插件时,无需`netload`手动加载`dll`。
> 启动`动态加载`时,失效。
- 生成`注册*.bat`和`注销.bat`的脚本,以便在其他电脑测试插件时,无需`netload`手动加载`dll`。
> `注册*.bat`会首先检测是否有此**注册路径**,成功时写入注册表,错误时不写入。
> `注销.bat`,删除插件的所有注册表路径;`IsDeleteCUIX`变量控制,是否加入删除同目录下`cuix`的功能。
- 生成项目的测试环境`launchSettings.json`。
#### 清理
当使用`Visual Studio`的`清理`功能时,删除`bat`脚本,并执行`注销.bat`里的内容。
#### 动态加载
`动态加载`:为了避免测试时频繁重启`AutoCAD`产生的概念。原理为插件测试时,不被**占用**,可以继续编译生成。
`nuget`包中的`AutoCADDotNetLibrary.Debug.dll`为`动态加载`插件,负责**反射**二进制读取生成的项目。
| 动态加载时的命令 | 说明 |
| ---------------- | ---------------------------------------- |
| `acload` | 加载生成的插件 |
| `aclear` | 清理`AutoCADDotNetLibrary.Debug`的注册表 |
##### 步骤
1. 配置好项目后,生成项目(同时会注册`AutoCADDotNetLibrary.Debug.dll`插件)。
2. 手动打开对应的`AutoCADDebugVersion`的 AutoCAD 版本。(`AutoCADDotNetLibrary.Debug.dll`插件会直接加载并运行`acload`)
3. 修改程序代码,并生成项目。
4. 命令输入`acload`,然后调试插件代码。
5. AutoCAD 手动关闭后,执行`aclear`。
##### debug 调试模式
`Visual Studio`菜单中`调试->附加到进程->选择acad.exe`可进入**debug 调试模式**。这种方式只能在`AutoCAD2015`及以上版本可使用。
### 变量
| 变量 | 说明 |
| ------------------- | ------------------------------------------ |
| AutoCADDebugVersion | 指定的`debug`测试环境的 AutoCAD 版本 |
| AutoCADMinVersion | 生成`bat`脚本的最小 AutoCAD 版本 |
| AutoCADMaxVersion | 生成`bat`脚本的最大 AutoCAD 版本 |
| IsDeleteCUIX | 是否`注销.bat`脚本加入删除`cuix`文件的功能 |
| IsDynamicLoad | 是否启用`动态加载`的功能 |
> `$([System.Guid]::NewGuid())`是为了动态加载时,制造不同的 dll,防止出现`bug`使用的。动态加载时必须加上。
### 创建 AutoCAD 明年的版本
目前默认值仅支持`2006-2023`版本,如需扩大版本,详见[示例](/build/Test2013/Test2013.csproj)。
```xml
```
## QQ 群
