Microsoft WCF 服务主机

燕雀之志 2012-03-28 03:28:58
WcfSvcHost 遇到一个关键错误,必须退出。这可能是由无效的配置文件引起的。有关详细信息,请检查以下其他信息。

System.BadImageFormatException: 未能加载文件或程序集“file:///G:\MccnBusinessSystem\Mccn.BusinessSystem\mccn.WCFBusinessEntity\bin\Debug\mccn.WCFBusinessEntity.dll”或它的某一个依赖项。试图加载格式不正确的程序。
文件名:“file:///G:\MccnBusinessSystem\Mccn.BusinessSystem\mccn.WCFBusinessEntity\bin\Debug\mccn.WCFBusinessEntity.dll”
在 System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks)
在 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection, Boolean suppressSecurityChecks)
在 System.Reflection.Assembly.Load(AssemblyName assemblyRef)
在 Microsoft.Tools.SvcHost.ServiceHostHelper.LoadServiceAssembly(String svcAssemblyPath)

=== 预绑定状态信息 ===
日志: 用户 = huanglin-PC\huanglin
日志: Where-ref 绑定。位置 = G:\MccnBusinessSystem\Mccn.BusinessSystem\mccn.WCFBusinessEntity\bin\Debug\mccn.WCFBusinessEntity.dll
日志: Appbase = file:///G:/MccnBusinessSystem/Mccn.BusinessSystem/mccn.WCFBusinessEntity/bin/Debug
日志: 初始 PrivatePath = NULL
调用程序集: (Unknown)。
===
日志: 此绑定从 LoadFrom 加载上下文开始。
警告: 将不在 LoadFrom 上下文中探测本机映像。仅在默认加载上下文中探测本机映像,例如,使用 Assembly.Load()。
日志: 正在使用应用程序配置文件: G:\MccnBusinessSystem\Mccn.BusinessSystem\mccn.WCFBusinessEntity\bin\Debug\mccn.WCFBusinessEntity.dll.config
日志: 使用主机配置文件:
日志: 使用 C:\Windows\Microsoft.NET\Framework64\v4.0.30319\config\machine.config 的计算机配置文件。
日志: 尝试下载新的 URL file:///G:/MccnBusinessSystem/Mccn.BusinessSystem/mccn.WCFBusinessEntity/bin/Debug/mccn.WCFBusinessEntity.dll。
错误: 未能完成程序集的安装(hr = 0x8007000b)。探测终止。
...全文
221 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
燕雀之志 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 的回复:]
引用 5 楼 的回复:

引用 4 楼 的回复:
是不是依赖的DLL中有编译成64位的。


我的机器就是64位的。

我的意思是你引用了第三方或者你的另外项目的DLL是不是指定编译成64位了?要是有一个依赖项是64位是不能在32位系统上部署的
[/Quote]

哎,还是换成32位的系统好了,时间来不及了。 谢谢你了。分给你。
PaulLeder 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 的回复:]

引用 4 楼 的回复:
是不是依赖的DLL中有编译成64位的。


我的机器就是64位的。
[/Quote]
我的意思是你引用了第三方或者你的另外项目的DLL是不是指定编译成64位了?要是有一个依赖项是64位是不能在32位系统上部署的
燕雀之志 2012-03-28
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 的回复:]
是不是依赖的DLL中有编译成64位的。
[/Quote]

我的机器就是64位的。
PaulLeder 2012-03-28
  • 打赏
  • 举报
回复
是不是依赖的DLL中有编译成64位的。
燕雀之志 2012-03-28
  • 打赏
  • 举报
回复
对应的代码是:
<system.data>
<section name="oracle.dataaccess.client" type="System.Data.Common.DbProviderConfigurationHandler, System.Data, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" />
</system.data>
燕雀之志 2012-03-28
  • 打赏
  • 举报
回复
把目标平台改成了 AnyCPU 又会出现:
无法识别的元素。 (G:\MccnBusinessSystem\Mccn.BusinessSystem\mccn.WCFBusinessEntity\bin\Debug\mccn.WCFBusinessEntity.dll.config line 24)
燕雀之志 2012-03-28
  • 打赏
  • 举报
回复
64位的操作系统。。 把目标平台改成了 ×86就出了这个错误。

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧