SSPC-Tester/Docs/PCIe8586驱动接入资料/docs/DEPLOYMENT.md

54 lines
2.0 KiB
Markdown
Raw Permalink Normal View History

# 部署说明
## 必要条件
- 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
<PropertyGroup>
<TargetFramework>net8.0-windows</TargetFramework>
<PlatformTarget>x64</PlatformTarget>
<Platforms>x64</Platforms>
</PropertyGroup>
```
若主项目获准随程序分发 DLL可加入
```xml
<ItemGroup>
<None Include="native\ACTS1000_64.dll"
CopyToOutputDirectory="PreserveNewest"
CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>
```
## 故障定位
- `DllNotFoundException`DLL 不在应用目录、系统目录或 PATH或 DLL 的二级依赖缺失。
- `BadImageFormatException`:宿主进程/DLL 位数不一致。
- `EntryPointNotFoundException`DLL 版本与头文件/API 不匹配。
- 能加载 DLL 但枚举为 0检查设备管理器、板卡供电、驱动安装、逻辑 ID 和是否被其他进程占用。
- 启动后无数据:检查软件触发是否执行、通道配置、分频参数和物理输入。
发布前应在干净目标机上验证,不能只在安装过完整 SDK 的开发机上验证。