程序一运行就停止工作,怎么办?求助。

liuyong848 2018-11-23 06:23:03
我用C#写了一个自己用的程序(用X86和X64都编译过),在我用的电脑上运行没有问题(win7 32位),在别人的电脑上一运行就xx停止工作(win7 64位),是什么问题?调用了几个DLL, MySql.Data.dll;Interop.gregn6Lib.dll;AxInterop.gregn6Lib.dll,后面两个是锐浪报表的DLL。看别人说是调用了DLL的原因(写了一个空白的程序,只放了几个控件,可以运行,没有问题。),但是我不知道应该怎么解决,大家帮我看看,应该怎么弄,谢谢。


问题签名:
问题事件名称: CLR20r3
问题签名 01: 退货单.exe
问题签名 02: 1.0.0.0
问题签名 03: 5bf4d1f2
问题签名 04: 退货单
问题签名 05: 1.0.0.0
问题签名 06: 5bf4d1f2
问题签名 07: 1
问题签名 08: b
问题签名 09: PSZQOADHX1U5ZAHBHOHGHLDGIY4QIXHX
OS 版本: 6.1.7601.2.1.0.256.1
区域设置 ID: 2052
其他信息 1: 0a9e
其他信息 2: 0a9e372d3b4ad19135b953a78882e789
其他信息 3: 0a9e
其他信息 4: 0a9e372d3b4ad19135b953a78882e789
...全文
2158 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
stevenjin 2018-11-29
  • 打赏
  • 举报
回复
能不能一个一个排查
失落的神庙 2018-11-29
  • 打赏
  • 举报
回复
生成的时候用 any cpu 试试。别指定x86
  • 打赏
  • 举报
回复
你是主界面都进不去,还是说点了某个按钮做了某个操作才进不去? 比如登录,你能进登录页面吗?
briankyo82 2018-11-29
  • 打赏
  • 举报
回复
右键程序集->添加->现有项,选择那些第三方dll,然后把自己项目的引用指向这些dll。 另外,如果你怀疑是这些dll的问题,那么你可以在自己电脑上安装程序,然后比较和你同事的程序目录有何不同便可。。。
yellowjobs 2018-11-29
  • 打赏
  • 举报
回复
编译的时候没把库或者dll编译进去
  • 打赏
  • 举报
回复
引用 9 楼 liuyong848 的回复:
公司的电脑,我不是专业开发的,自学的一点点,开发点自己用的。
我们来看所谓软件开发理念,所谓“我想知道应该怎么解决”这类说法往往就跟说的“所有的星星都是圆的”一样,这种说法实际上就是一个假设。一个程序工程师要做的事情就是把它理解为“暂时找不到一个星星是有棱角的”这种概念,而绝不是浑浑噩噩地重复“所有星星都是圆的”那种话。 所以重点在于方法,而不是结果。方法总是被眼高手低的人故意回避,因为他们其实只想抄点结论而并不真的想学专业方法。
  • 打赏
  • 举报
回复
写日志,在重现问题的电脑上运行,精确到出错的具体语句。 如果你不知道最后具体是哪一条语句出错,贴不出来日志结果,就不要随便问。 调试、测试、日志是程序员最基本的能力,是一个专业程序员跟那些仅仅“自学编程”的根本区别。自己要先贴出并且分析具体的出错的代码,甚至是出错时(以及深度堆栈的)的环境变量值,才来问别人。这不需要什么技术,这就是基本的概念。
吹风的兔子 2018-11-26
  • 打赏
  • 举报
回复
修复dll 缺失 步骤: 打开 360,选择 软件关键,搜索 “C++” —— 第一个就是。 让你用户 下载安装,C++程序集缺失的BUG 就能解决。 【无脑解法,解决过好多 客户现场的 程序集缺失问题】
liuyong848 2018-11-24
  • 打赏
  • 举报
回复
引用 8 楼 吉普赛的歌 的回复:
[quote=引用 7 楼 liuyong848 的回复:]
[quote=引用 3 楼 吉普赛的歌 的回复:]
既然你面对着复杂的用户环境, 那你在开发、测试时就应该考虑所有的可能性, 测试所有可能的操作系统。
首先, 在你本机上创建 Win 7 - 64 位虚拟机, 将代码精简至几乎没引用什么 dll 后在 虚拟机上测试, 一步步加 dll 。
直到 重现异常 为止。定位问题, 下一步就好说了。



我用的电脑配置很差,才2G的内存,装了虚拟机都很卡,不知道能不能再装WIN7 64位虚拟系统。
[/quote]

你这是 自己电脑 还是公司电脑 ?
做开发的人, 省吃俭用也得买台好电脑吧。 如今做开发, 至少 4 GB内存。如果还要安装虚拟机, 至少 8 GB 内存。这个方面不要委屈自己。[/quote]


公司的电脑,我不是专业开发的,自学的一点点,开发点自己用的。
吉普赛的歌 2018-11-24
  • 打赏
  • 举报
回复
引用 7 楼 liuyong848 的回复:
[quote=引用 3 楼 吉普赛的歌 的回复:] 既然你面对着复杂的用户环境, 那你在开发、测试时就应该考虑所有的可能性, 测试所有可能的操作系统。 首先, 在你本机上创建 Win 7 - 64 位虚拟机, 将代码精简至几乎没引用什么 dll 后在 虚拟机上测试, 一步步加 dll 。 直到 重现异常 为止。定位问题, 下一步就好说了。
我用的电脑配置很差,才2G的内存,装了虚拟机都很卡,不知道能不能再装WIN7 64位虚拟系统。 [/quote] 你这是 自己电脑 还是公司电脑 ? 做开发的人, 省吃俭用也得买台好电脑吧。 如今做开发, 至少 4 GB内存。如果还要安装虚拟机, 至少 8 GB 内存。这个方面不要委屈自己。
liuyong848 2018-11-24
  • 打赏
  • 举报
回复
引用 3 楼 吉普赛的歌 的回复:
既然你面对着复杂的用户环境, 那你在开发、测试时就应该考虑所有的可能性, 测试所有可能的操作系统。
首先, 在你本机上创建 Win 7 - 64 位虚拟机, 将代码精简至几乎没引用什么 dll 后在 虚拟机上测试, 一步步加 dll 。
直到 重现异常 为止。定位问题, 下一步就好说了。



我用的电脑配置很差,才2G的内存,装了虚拟机都很卡,不知道能不能再装WIN7 64位虚拟系统。
liuyong848 2018-11-24
  • 打赏
  • 举报
回复
引用 4 楼 xuzuning 的回复:
程序一运行就停止工作,是缺少必要的资源


开发用的电脑是WIN7 32位,目标电脑是WIN7 64位,应该是64位系统的原因,但是不知道怎么解决。
liuyong848 2018-11-24
  • 打赏
  • 举报
回复
引用 2 楼 wangyx92528 的回复:
比如我的一个项目使用了C#的OpenCV

但是实际运行是还需要这些dll

你可能需要手动把缺的文件找到,或者你可以找一个运行不了的环境,装上VS调试一下代码,看看在初始化什么对象的时候会报错。



我在同事的电脑上安装运行库了,只用到了3个外部的DLL,而且也己经放在一起了。
xuzuning 2018-11-23
  • 打赏
  • 举报
回复
程序一运行就停止工作,是缺少必要的资源
吉普赛的歌 2018-11-23
  • 打赏
  • 举报
回复
既然你面对着复杂的用户环境, 那你在开发、测试时就应该考虑所有的可能性, 测试所有可能的操作系统。 首先, 在你本机上创建 Win 7 - 64 位虚拟机, 将代码精简至几乎没引用什么 dll 后在 虚拟机上测试, 一步步加 dll 。 直到 重现异常 为止。定位问题, 下一步就好说了。
wangyx92528 2018-11-23
  • 打赏
  • 举报
回复
比如我的一个项目使用了C#的OpenCV

但是实际运行是还需要这些dll

你可能需要手动把缺的文件找到,或者你可以找一个运行不了的环境,装上VS调试一下代码,看看在初始化什么对象的时候会报错。
wangyx92528 2018-11-23
  • 打赏
  • 举报
回复
这种一般都是缺DLL,有可能你引用了什么第三方的控件或库,它并没有把你运行时所需要的所有dll都输出到生成目录里,你的编译环境由于环境变量等因素能够找到这些文件,而别人的电脑找不到或者没有,有时候需要手动复制到exe所在目录,并且x86、x64还是有区别的。

111,098

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • AIGC Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧