您的位置:首页 > 编程语言 > C#

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

2017-07-22 00:32 1201 查看
       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目录下,重新引用,重新编译,问题即然完美解决!

     一看时间已是凌晨,可以睡个好觉了!
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
相关文章推荐