# 部署说明 ## 必要条件 - Windows x64。 - 最终宿主进程以 x64 构建;不要使用 `AnyCPU + Prefer 32-bit`。 - 目标机已安装与 PCIe8586 匹配的厂商内核驱动。 - `ACTS1000_64.dll` 能被 Windows DLL 搜索机制找到。 推荐把经厂商许可分发的 `ACTS1000_64.dll` 放在最终主程序 `.exe` 同目录。也可以由厂商安装程序部署到系统目录或加入 `PATH`,但应用目录部署更容易控制版本。 ## 本包内各原生文件的用途 | 文件 | C# 运行时是否需要 | 用途 | |---|---:|---| | `ACTS1000_64.dll` | 是 | P/Invoke 实际加载的用户态厂商运行库;本仓库未提供 | | `ACTS1000_64.lib` | 否 | 原生 C/C++ 链接时使用 | | `ACTS1000.h` | 否 | 接口、结构体、常量和约束的权威开发参考 | | 厂商 `.sys/.inf/.cat` 或安装程序 | 是 | 安装内核设备驱动;本仓库未提供 | 不要把 `.lib` 改名为 `.dll`,也不要只复制 DLL 而跳过内核驱动安装。 ## 项目设置 最终可执行项目建议包含: ```xml net8.0-windows x64 x64 ``` 若主项目获准随程序分发 DLL,可加入: ```xml ``` ## 故障定位 - `DllNotFoundException`:DLL 不在应用目录、系统目录或 PATH,或 DLL 的二级依赖缺失。 - `BadImageFormatException`:宿主进程/DLL 位数不一致。 - `EntryPointNotFoundException`:DLL 版本与头文件/API 不匹配。 - 能加载 DLL 但枚举为 0:检查设备管理器、板卡供电、驱动安装、逻辑 ID 和是否被其他进程占用。 - 启动后无数据:检查软件触发是否执行、通道配置、分频参数和物理输入。 发布前应在干净目标机上验证,不能只在安装过完整 SDK 的开发机上验证。