Files
petwash/启动问题诊断指南.md
GukSang.Jin 9c66b6cd82
2026-03-03 16:55:02 +08:00

3.6 KiB
Raw Blame History

启动问题诊断指南

问题描述

应用编译成功但界面启动不了

已完成的修复

1. XAML编译错误修复

  • 修复了Grid的Padding属性格式错误
  • 修复了Grid不支持CornerRadius的问题改为Border
  • 修复了标签嵌套错误

2. 全局异常处理

App.xaml.cs中添加了全局异常处理,现在任何启动错误都会显示消息框

诊断步骤

步骤1检查编译

dotnet build PetWashControl/PetWashControl.csproj

编译成功

步骤2直接运行可执行文件

PetWashControl\bin\Debug\net8.0-windows\PetWashControl.exe

步骤3查看错误消息

如果应用启动失败,现在会显示错误消息框,包含:

  • 错误消息
  • 堆栈跟踪

可能的问题和解决方案

问题1窗口启动但立即关闭

原因可能是InitializeAsync()中的异常

解决方案

  1. 检查日志文件(如果有)
  2. 查看错误消息框内容
  3. 检查Modbus/MQTT连接配置

问题2窗口根本不显示

原因XAML绑定错误或资源加载失败

解决方案

  1. 检查所有图片资源是否存在:

    • /Images/dog.png
    • /Images/dog1.png
    • /Images/dog2.png
    • /Images/kef.png
    • /Images/liuc.png
    • /Images/liuc1.png
    • /Images/qrcode.png
  2. 检查转换器是否正确注册

问题3清理弹窗相关错误

原因:新添加的清理弹窗属性绑定问题

检查项

  • IsCleaningDialogOpen 属性
  • CleaningMessage 属性
  • CleaningProgress 属性
  • ProgressToWidthConverter 转换器

手动测试步骤

1. 启动应用

双击运行:PetWashControl\bin\Debug\net8.0-windows\PetWashControl.exe

2. 观察启动过程

  • 是否显示窗口?
  • 是否有错误消息框?
  • 窗口是否立即关闭?

3. 如果显示错误消息

记录以下信息:

  • 错误消息内容
  • 堆栈跟踪
  • 发生错误的位置

4. 检查日志

查看是否生成了日志文件,检查其中的错误信息

临时禁用新功能测试

如果需要快速验证是否是清理弹窗导致的问题,可以临时注释掉相关代码:

在MainViewModel.cs中

// 临时注释这三个属性
// [ObservableProperty]
// private bool _isCleaningDialogOpen;
// 
// [ObservableProperty]
// private string _cleaningMessage = "正在清理笼子...";
// 
// [ObservableProperty]
// private int _cleaningProgress;

在MainWindow.xaml中

临时删除或注释清理弹窗部分2095-2210行

验证清单

  • 编译无错误
  • 所有图片资源存在
  • 转换器正确注册
  • 全局异常处理已添加
  • 可以看到错误消息(如果有)
  • 日志文件可访问

下一步行动

如果看到错误消息

  1. 记录完整的错误信息
  2. 根据错误类型进行针对性修复

如果没有任何反应

  1. 检查进程管理器中是否有PetWashControl.exe进程
  2. 检查是否有防火墙或安全软件阻止
  3. 尝试以管理员身份运行

如果窗口显示但功能异常

  1. 测试基本功能(套餐选择、支付等)
  2. 测试洗护流程
  3. 测试清理弹窗(需要完成洗护流程)

成功启动的标志

窗口正常显示 待机界面可见 图片轮播正常 时间显示正常 温度显示正常 可以点击套餐卡片

联系支持

如果问题持续存在,请提供:

  1. 错误消息的完整截图
  2. 日志文件内容
  3. 系统环境信息Windows版本、.NET版本
  4. 具体的操作步骤

创建时间2026-02-27
版本v1.0
状态:诊断中