欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

IL范围不正确

程序员文章站 2022-12-25 18:50:03
一、昨晚在改过一个bug之后在本机测试没问题,于是提交代码在测试服务器上发布之后测试的也没问题。 既然测试的都没问题,那就要往正式环境中发布咯,然而,发布到正式环境中就报错:IL范围不正确,这个错是打开系统的时候就报出来的。 IL是一种中间语言,咋报了个这错!于是又把dll重新拷贝过来发布了一下,还 ......

一、昨晚在改过一个bug之后在本机测试没问题,于是提交代码在测试服务器上发布之后测试的也没问题。

既然测试的都没问题,那就要往正式环境中发布咯,然而,发布到正式环境中就报错:il范围不正确,这个错是打开系统的时候就报出来的。

il是一种中间语言,咋报了个这错!于是又把dll重新拷贝过来发布了一下,还是同样的错,嗯,当时很难受。具体错误如下图:

IL范围不正确

二、我发现错误信息中有.netframework2.0什么什么的,然后我就去百度这个错误,网上大致有这几种说法:(1)是.netframework的原因,把.netframework卸载再重装就可以了。(2)没有装.netframework3.5 sp1的问题。(3)是maxtocode加密导致的。

 

三、然后我就开始思考:

1.如果对在正式服务器上.netframework进行卸载重装的话,风险太大(这时已经是夜里12点了,系统明天早上9点是要可以正常使用的),于是就先不重装,换其它的方法;

2.我们项目中有的是用的.netframework3.5 有的是用的2.0,但是其实这2个版本没有本质上的区别,3.5是在2.0的基础上扩展的,只有到了4.0是重新搞的,所以我觉得应该不是我项目架构使用框架的问题;

3.去看了一下正式服务器上看了,装的也有.netframework 3.5 sp1,这个问题也先排除;

4.问了同事,项目中没有用maxtocode进行代码混淆,这个问题也先排除;

5.现在似乎没有什么比较好的办法去解决这个问题了,然后就又想到为什么不把源码重新编译再把dll发布试一下呢,然后就这样重新编译了源码发布之后就没有这个错误了;

 

四、我的项目中出现这个错误,应该就是编译的过程中出现问题了。如果遇到这样的问题的话,不妨先试着重新编译一下源码再发布一下。

坚持原创!

转载请注明出处:https://www.cnblogs.com/infancy/p/9647049.html