同一个程序,前两天还可在服务器运行,最新编译后,在本机还可以运行,到服务器就无法
运行了。报异常KERNELBASE.dll 异常,然后就是关闭程序。程序连启动都无法启动。
win server 2008。后来发现VS在编译C#程序时,把程序中引用MySql.Data.dll的路径改为
系统目录下的路径。引用C:\Windows\System32\MySql.Data.dll.而我本机系统路径是有这个
文件的,而服务器是没有。同时程序目录下面有MySql.Data.dll,但是服务器不会去程序目录
去搜索。在本机VS把该引用修改为程序目录或其它不是系统目录的路径然后再编译,在服务
器上就可以了。以后如果出现KERNELBASE.dll报错,首先看DLL引用,看是否哪些引用被
改为系统目录了,虽然程序目录有该DLL,服务器环境在程序编译后,如果引用的是系统路
径,是不会再去其他路径查找。
解决C#程序在服务器上因KERNELBASE.dll异常导致无法运行的问题。发现VS编译时将MySql.Data.dll引用路径错误地指向系统目录,而服务器未在该路径下找到所需DLL。通过调整DLL引用路径至程序目录,成功解决服务器运行问题。
1万+

被折叠的 条评论
为什么被折叠?



