visual studio用C#写的程序在别的电脑不能打开

小超小调 2021-03-09 08:46:29
visual studio用vs installer projects插件打包得到exe程序,然后在目标电脑上不能打开。我的电脑是win10 64位,VS编译版本是.NET Framework 4.5.2,程序能正常打开;目标电脑是win10 64位,.NET Framework 4.8,目标电脑安装后,双击exe打不开程序,没有任何提示信息,查看任务管理器里是有这个进程的,求助解决。
...全文
5087 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
超哥哥哇 2021-03-20
  • 打赏
  • 举报
回复
看看系统日志报错什么原因,在一个就是看看电脑环境装好没
小超小调 2021-03-15
  • 打赏
  • 举报
回复
一般.net framework版本对的就能打开的
小超小调 2021-03-12
  • 打赏
  • 举报
回复
引用 15 楼 liuding214cs 的回复:
在换台电脑先试试,如果可以打开就是目标电脑的问题,就需要重装系统
试过了,重装系统确实可以解决,但代价太大了
liuding214cs 2021-03-12
  • 打赏
  • 举报
回复
在换台电脑先试试,如果可以打开就是目标电脑的问题,就需要重装系统
datafansbj 2021-03-12
  • 打赏
  • 举报
回复
引用 11 楼 小超小调 的回复:
[quote=引用 8 楼 datafansbj 的回复:]估计你的程序在启动时,会执行一些初始化功能(读写配置文件、与智能卡等设备通信),如果这些初始化代码耗较长,会出现任务管理器里有该进程,但是没有界面的问题。既然把智能卡的代码去掉就能打开,说明问题确实出在智能卡那里。最有可能就是这些代码被阻塞了(就是你访问一个硬件设备,硬件设备长时间不返回结果,你只能在那里无限等待)。

把智能卡那段代码加上一些调试日志,看看到底是阻塞在哪里了。

我其它电脑不连硬件设备,软件也能打开的[/quote]

既然都定位到智能卡那段代码了,就不需要纠结是否连接了硬件。在智能卡那段代码里,多加一些 debug 输出调试信息,能快速定位到出问题的那句代码。较好的日志输出组件是 log4.net。
高吴杰 2021-03-12
  • 打赏
  • 举报
回复
打开文件需要编译环境。
liuding214cs 2021-03-12
  • 打赏
  • 举报
回复
引用 16 楼 小超小调 的回复:
[quote=引用 15 楼 liuding214cs 的回复:]在换台电脑先试试,如果可以打开就是目标电脑的问题,就需要重装系统
试过了,重装系统确实可以解决,但代价太大了[/quote] 理论上只能系统哪里出了啥问题,我一般只能重装,怎么解决只能找大佬了
小超小调 2021-03-11
  • 打赏
  • 举报
回复
引用 12 楼 w123wxh的回复:
.net版本不对
是对的,如果是.net版本不对,那会提示的,我这个双击没任何反应,提示
w123wxh 2021-03-11
  • 打赏
  • 举报
回复
.net版本不对
小超小调 2021-03-11
  • 打赏
  • 举报
回复
引用 8 楼 datafansbj 的回复:
估计你的程序在启动时,会执行一些初始化功能(读写配置文件、与智能卡等设备通信),如果这些初始化代码耗较长,会出现任务管理器里有该进程,但是没有界面的问题。既然把智能卡的代码去掉就能打开,说明问题确实出在智能卡那里。最有可能就是这些代码被阻塞了(就是你访问一个硬件设备,硬件设备长时间不返回结果,你只能在那里无限等待)。 把智能卡那段代码加上一些调试日志,看看到底是阻塞在哪里了。
我其它电脑不连硬件设备,软件也能打开的
小超小调 2021-03-11
  • 打赏
  • 举报
回复
引用 7 楼 dugupiaoyun 的回复:
1.生成改为Any CPU 2.打包的时候将引用的第三方动态链接库包含在内 3.右键管理员运行 4.查看360防护中心,日志记录和信任与阻止
我用的是visual studio installer projects插件来打包的,生成是Any CPU,第三方库编译成了.dll文件,.net framework版本电脑也支持,管理员运行也打不开,没有任何提示
小超小调 2021-03-11
  • 打赏
  • 举报
回复
引用 6 楼 极客诗人 的回复:
看下目标电脑的事件日志呗
怎么看日志?
datafansbj 2021-03-11
  • 打赏
  • 举报
回复
估计你的程序在启动时,会执行一些初始化功能(读写配置文件、与智能卡等设备通信),如果这些初始化代码耗较长,会出现任务管理器里有该进程,但是没有界面的问题。既然把智能卡的代码去掉就能打开,说明问题确实出在智能卡那里。最有可能就是这些代码被阻塞了(就是你访问一个硬件设备,硬件设备长时间不返回结果,你只能在那里无限等待)。

把智能卡那段代码加上一些调试日志,看看到底是阻塞在哪里了。
dugupiaoyun 2021-03-11
  • 打赏
  • 举报
回复
1.生成改为Any CPU 2.打包的时候将引用的第三方动态链接库包含在内 3.右键管理员运行 4.查看360防护中心,日志记录和信任与阻止
极客诗人 2021-03-11
  • 打赏
  • 举报
回复
看下目标电脑的事件日志呗
小超小调 2021-03-10
  • 打赏
  • 举报
回复
有人知道问题咋解决吗?
  • 打赏
  • 举报
回复
在电脑的事件查看器查看windows日志。
小超小调 2021-03-10
  • 打赏
  • 举报
回复
我用的git-hub上的danm-de/pcsc-sharp项目,PC端和智能卡通信,我把智能卡的代码去掉,程序就能打开了;目标电脑打开一点提示都没有,就打不开;试过几台电脑都能打开,也能和智能卡通信。
zzyhost 2021-03-09
  • 打赏
  • 举报
回复
建议你一步一步检测,比如用新项目打包看是否成功

111,076

社区成员

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

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

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