未能加载文件或程序集“SrvCommon, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null”

常见问题汇总 专栏收录该内容
1 篇文章 0 订阅

一.在写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框架就可以解决以上问题,不用考虑平台性。






  • 5
    点赞
  • 7
    评论
  • 7
    收藏
  • 一键三连
    一键三连
  • 扫一扫,分享海报

©️2021 CSDN 皮肤主题: 大白 设计师:CSDN官方博客 返回首页
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值