SSPC-Tester/Driver/PCIE8586/DriverIntegrationPackage/docs/DEPLOYMENT.md

2.0 KiB
Raw Permalink Blame 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 而跳过内核驱动安装。

项目设置

最终可执行项目建议包含:

<PropertyGroup>
  <TargetFramework>net8.0-windows</TargetFramework>
  <PlatformTarget>x64</PlatformTarget>
  <Platforms>x64</Platforms>
</PropertyGroup>

若主项目获准随程序分发 DLL可加入

<ItemGroup>
  <None Include="native\ACTS1000_64.dll"
        CopyToOutputDirectory="PreserveNewest"
        CopyToPublishDirectory="PreserveNewest" />
</ItemGroup>

故障定位

  • DllNotFoundExceptionDLL 不在应用目录、系统目录或 PATH或 DLL 的二级依赖缺失。
  • BadImageFormatException:宿主进程/DLL 位数不一致。
  • EntryPointNotFoundExceptionDLL 版本与头文件/API 不匹配。
  • 能加载 DLL 但枚举为 0检查设备管理器、板卡供电、驱动安装、逻辑 ID 和是否被其他进程占用。
  • 启动后无数据:检查软件触发是否执行、通道配置、分频参数和物理输入。

发布前应在干净目标机上验证,不能只在安装过完整 SDK 的开发机上验证。