C#程序运行不了CLR20R3解决方法

来源:互联网 发布:网络故障诊断1一1 编辑:程序博客网 时间:2024/06/05 08:38

       c#应用程序在有些环境下能打开,但有些又打不开,更悲催的是同一个应用程序不同时间编译在同一个环境下即然一个能运行一个不能运行,打开事件日志看到两个错误:

错误日志1:

Application: XXXXX.exe(这是应用程序名称就不用真名了)

Framework Version: v4.0.30319
Description: The process was terminated due to an unhandled exception.
Exception Info: System.IO.FileLoadException
Stack:
   at XXXXX.MainFrm..ctor()

   at XXXXX.Program.Main()

错误日志2:

错误应用程序名称: XXXXX.exe,版本: 1.0.0.0,时间戳: 0x59722183
错误模块名称: KERNELBASE.dll,版本: 6.1.7600.16385,时间戳: 0x4a5bdbdf
异常代码: 0xe0434352
错误偏移量: 0x0000b727
错误进程 ID: 0x1ce0
错误应用程序启动时间: 0x01d302389f209d25
错误应用程序路径: D:\OPC2.0\XXXXX.exe
错误模块路径: C:\windows\syswow64\KERNELBASE.dll
报告 ID: dd19540e-6e2b-11e7-8a73-6c0b84916a41

       看完电视都11点多了,还是不能睡,这么诡异的问题怎么让人入睡呢?本着不解决不睡觉的精神各种百度都解决不了问题,冷静下来思考,一一排查,

一开始以为是.net版本问题,核对了一下开发环境和生产环境都是.net 4.0的,没问题!

二以为是C:\windows\syswow64\KERNELBASE.dll文件不存在,核对生产环境也是有这个文件;

三以为是程序代码有问题,我把form_load事件中的代码全注释掉,问题依旧;

      真是头大呀!!!最后神都看不下去了,让我想到我项目中引用到的两个第三方包log4net和newtonsoft.json,可能是生产环境没有这些包吧!先把包目录备份好,然后通过包管理器将它们从项目中卸掉,然后把.net 4版本的dll复制到release目录下,重新引用,重新编译,问题即然完美解决!

     一看时间已是凌晨,可以睡个好觉了!



阅读全文
0 0
原创粉丝点击