# TestEtherCATMasterApp **Repository Path**: yuezhifeng/test-ether-catmaster-app ## Basic Information - **Project Name**: TestEtherCATMasterApp - **Description**: No description available - **Primary Language**: C# - **License**: MulanPSL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-15 - **Last Updated**: 2026-06-25 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # EtherCAT Master App 基于 .NET 8 WPF + EtherCAT.NET 的 EtherCAT 主站调试工具。 ## 运行环境要求 本机开发/运行需要安装: - [.NET 8 SDK](https://dotnet.microsoft.com/download/dotnet/8.0) - [.NET 8 Windows Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/8.0)(运行时需要) - [Npcap](https://npcap.com/#download) 或 WinPcap(SOEM 依赖,扫描从站必需) - [Microsoft Visual C++ Redistributable 2015-2022 (x64)](https://aka.ms/vs/17/release/vc_redist.x64.exe)(`soem_wrapper.dll` 依赖) ## 编译 ```bash cd EtherCATMasterApp dotnet build -c Release ``` ## 发布(推荐部署方式) 为了避免目标电脑缺少 .NET Runtime 导致闪退,建议使用自包含单文件发布: ```powershell # 在项目根目录执行 .\publish-self-contained.ps1 ``` 发布结果位于 `./publish/EtherCATMasterApp/`,直接复制整个文件夹到目标电脑即可运行。 > 注意:自包含发布不会打包 Npcap/WinPcap 和 VC++ Redistributable,目标电脑仍需单独安装。 ## 部署检查清单 将程序复制到另一台电脑后,如果窗口闪退/进程秒退,请按顺序检查: 1. **.NET 8 Windows Desktop Runtime** - 在目标电脑 PowerShell 中运行: ```powershell dotnet --list-runtimes | Select-String "WindowsDesktop" ``` - 如果没有输出,请安装:[.NET 8 Desktop Runtime](https://dotnet.microsoft.com/download/dotnet/8.0) 2. **Visual C++ Redistributable 2015-2022 (x64)** - `soem_wrapper.dll` 依赖该运行时。缺少时进程会秒退且没有明显弹窗。 - 下载安装:https://aka.ms/vs/17/release/vc_redist.x64.exe 3. **Npcap / WinPcap** - EtherCAT 扫描需要原始网卡访问,必须安装 Npcap(推荐)或 WinPcap。 - 下载安装:https://npcap.com/#download 4. **ESI 目录** - 程序启动时会检查 `ESI` 文件夹。缺失时仅提示警告,不会闪退。 - 如需完整 PDO 信息,请将从站厂商提供的 ESI XML 文件放入 `ESI` 目录。 5. **杀毒软件/误删** - 某些杀毒软件可能误报 `soem_wrapper.dll` 或单文件发布产生的临时文件。 - 检查发布目录是否完整,必要时添加信任。 ## 闪退排查 程序已加入启动环境检查和全局异常捕获: - 启动时会弹窗提示缺失的关键依赖(.NET Runtime、VC++ Runtime、`soem_wrapper.dll` 加载失败等)。 - 若运行中发生未处理异常,会弹出错误框并写入日志: - 日志路径:`%TEMP%\EtherCATMasterApp_Crash_*.log` - 到目标电脑查看该日志即可定位具体原因。 ## 快速测试目标电脑环境 在目标电脑的发布目录中,打开 PowerShell,运行: ```powershell .\EtherCATMasterApp.exe ``` 如果仍闪退,请立即检查 `%TEMP%` 下是否有 `EtherCATMasterApp_Crash_*.log`,并将日志内容反馈给开发人员。