• 已解决 73482 个问题
  • 已帮助 5993 位优秀工程师

C# 程序发布,在别的电脑上不能运行

川楠 2018-06-13 浏览量:2950

我使用C#编写一个上位机软件。

在这个软件用,有用到KERNELbase.dll,做INI配置和数据保存。用到的框架是.net 4.0


我使用Inno Setup Compiler,加载了realse文件下的EXE​​进行了发布软件,过程很顺利,直接生成setup安装文件。。

我在自己的电脑上,安装,能正常运行,在别人的电脑上,安装就不能运行。

别人电脑的framework有v4.0.30319 和我的一样


报的错误如下:
错误应用程序名称: MotionControl.exe,版本: 1.0.0.0,时间戳: 0x5b210773
错误模块名称: KERNELbase.dll,版本: 6.1.7601.23807,时间戳: 0x5915fe14
异常代码: 0xe0434352
错误偏移量: 0x000000000001a06d
错误进程 ID: 0x3624
错误应用程序启动时间: 0x01d40312d70cec30
错误应用程序路径: C:\Program Files (x86)\My Program\MotionControl.exe
错误模块路径: C:\Windows\system32\KERNELbase.dll
报告 ID: 152fa110-6f06-11e8-8e33-3cf862f0cddb


应用程序: MotionControl.exe
framework 版本: v4.0.30319
说明: 由于未经处理的异常,进程终止。
异常信息: System.IO.FileNotFoundException
堆栈:
在 MotionControl.MainForm.InitializeComponent()
在 MotionControl.MainForm..ctor()
在 MotionControl.Program.Main()


求帮助

目前存在的问题:
1、我在程序代码中,引入了  [DllImport("kernel32")]  ,但我不知道这个倒是引用系统中哪个路径下的DLL文件。

QQ截图20180614102307.jpg


2、打包的时候,如何加入DLL文件

0 0 收起

我来回答

上传资料:
选择文件 文件大小不超过15M(格式支持:doc、ppt、xls、pdf、zip、rar、txt)
最佳答案
  • 两个电脑上都要安装C# 运行所需要的.net,而且还是要版本一样才可以的
    • 发布于 2018-06-15
    • 举报
    • 评论 0
    • 0
    • 0

其他答案 数量:3
  • 要以realse模式发布,不要debug发布。
    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 这个可能是你的资源文件没有一起打包发布导致的
    • 发布于2018-06-14
    • 举报
    • 评论 0
    • 0
    • 0

  • 把dll单独复制出来 跟程序放一起 或者加入系统system目录
    • 发布于2018-06-18
    • 举报
    • 评论 0
    • 0
    • 0

相关问题

问题达人换一批

C# 程序发布,在别的电脑上不能运行