未能加载文件或程序集“SrvCommon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”
一.在写WINFORM程序的时候
在加载DLL时,出现了如下的异常:未能加载文件或程序集“SrvCommon, Version=1.0.0.0, Culture=neutral,PublicKeyToken=null”或它的某一个依赖项。
试图加载格式不正确的程序。
根本原因为:SrvCommon.DLL文件是X86平台生成的。而你的winform程序是Anycpu平台。
解决方法:SrvCommon.DLL平台改为Anycpu平台。 或者把winform程序改为X86平台使用即可.
二.在写WINDOWS SERVICES程序也遇到相同的问题。
在加载DLL时,出现了如下的异常:未能加载文件或程序集“winCommon, Version=1.0.0.0, Culture=neutral,PublicKeyToken=null”或它的某一个依赖项。
试图加载格式不正确的程序。
问题原因如下:
WINDOWS SERVICES程序是Any CPU,在添加winCommon.DLL引用,由于这个DLL文件平台是X86的导致服务程序不能调用到它。报错如上所示的错误。
解决方法:1.把winCommon项目的平台改为Any CPU重新编译即可。备注:如果winCommon项目引用了其他的XXX.DLL文件,XXX的项目如果也是X86的,那你的服务程序也同样报错 【未能加载文件或程序集“XXX, Version=1.0.0.0, Culture=neutral,PublicKeyToken=null”】
解决方法:2.WINDOWS SERVICES程序的平台改为X86的,这样无论引用什么样平台的DLL,都可以调用,因为低平台是可以调用高的
[X86---->Any CPU(Any CPU--->X86会报错不行的)],其实就是平台的问题.
解决方法:3.留意到如下的框架是.NET Framework 4生成的服务程序,没有勾选首选32位功能(图1所示)
这个功能是在.NET Framework 4.5才有的,如图2,所以在编写服务程序时候,使用.NET Framework 4.5框架就可以解决以上问题,不用考虑平台性。
「智能机器人开发者大赛」官方平台,致力于为开发者和参赛选手提供赛事技术指导、行业标准解读及团队实战案例解析;聚焦智能机器人开发全栈技术闭环,助力开发者攻克技术瓶颈,促进软硬件集成、场景应用及商业化落地的深度研讨。 加入智能机器人开发者社区iRobot Developer,与全球极客并肩突破技术边界,定义机器人开发的未来范式!
更多推荐



所有评论(0)