打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里

本文受众:像我一样的编程菜鸟
如何打包一个C#的方法网上有很多,不再赘述,看本文之前请确保知道怎么使用set up project插件,不懂得看这里。
废话:编程的快感来自于很多方面,对于像我一样的菜鸟来说,跑通程序,并且能实现功能的时候是很爽的。这时候我们就希望把程序打包出来给其他人安装让他们一起爽,但是这个过程往往并不顺利。简单程序打包成安装包会十分顺利,但是程序一复杂问题就来了。本文旨在介绍我打包程序中遇到的典型问题以及我的解决方法。延续大家的快感
我遇到的问题:debug模式下程序没问题,但是打包成安装包安装之后,双击exe程序闪退,一脸懵逼也不知道问题出在哪里
结论写在前面,初学者容易出现的问题有:

  1. 未添加调用的文件,或者路径错误(解决方法,在Set up project下的文件系统里面手动添加文件夹和文件,并相应地调整你的路径确保能调用到)
    打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
    文章图片
  2. 如果程序还是因为找不到文件崩溃,多半是因为你安装包生成的exe双击打开运行时权限不够(解决方法:右键管理员运行,或者你不要安装在C盘,安装到其他权限放松一些的磁盘)
以下是我如何定位问题所在,以及具体解绝办法
如何快速定位你的问题出在哪一行代码,以及是什么问题
粗略的估计一下程序执行到哪里崩溃,然后在每一行代码前加个
MessageBox.Show("something goes wrong here?");

【打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里】确保你的程序不会直接崩溃退出进程,然后打开任务管理器,确保你能找到你的程序的进程,然后在visual studio里面点击Debug-attach to process
打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
文章图片

在弹出的窗口下选择你的进程,点击attach
打包C#软件两种典型出错的解决方法,以及如何快速定位你的问题出在哪里
文章图片

这下你的编译器会跟着你的exe进程进行debug,就像你直接在debug模式下出错vs会报错给你一样,
你的VS会提醒你程序在哪里出了问题。(完)

    推荐阅读