臭名昭著的组件绑定错误 [英] Infamous assembly binding error

查看:263
本文介绍了臭名昭著的组件绑定错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我真的需要这方面的帮助,因为我失去了我的希望,以解决该问题。

我使用的Office Communications Server 64位库。有3个的DLL我的项目,Microsoft.Rtc.Collaboration.dll,Microsoft.Rtc.Internal.Media.dll和SIPEPS.dll使用。我不知道Microsoft.Rtc.Collaboration但Internal.Media和SIPEPS都是64位。在GAC组件列表Rtc.Collaboration显示MSIL下处理器Arhitecture和其他人表现出AMD64。

我的项目编译没有与这些引用错误,但在运行时我收到错误:

无法加载文件或程序集Microsoft.Rtc.Internal.Media或它的某一个依赖。试图加载格式不正确的程序。

我试图编译与CPU设置为任何CPU,但没有改变的项目。随着双方在x64和x86设置我收到此错误。

任何帮助是AP preciated。

更新:以下是集绑定日志

  === pre-绑定状态信息===
日志:用户= CONTOSO \的Elodie
日志:显示名称= Microsoft.Rtc.Internal.Media
 (部分)
警告:部分绑定信息是提供程序集:
警告:程序集名称:Microsoft.Rtc.Internal.Media |域ID:9
警告:程序集显示名称的一部分提供时,会出现局部绑定。
警告:这可能导致粘合剂加载了不正确的装配。
警告:建议提供了一个完全指定的文字标识的组装,
警告:即由简单的名称,版本,区域性和公钥令牌。
警告:请参阅白皮书http://go.microsoft.com/fwlink/?LinkId=109270了解更多信息,共同解决这一问题。
日志:应用平台=文件:/// C:/用户/的Elodie /文档/ Visual Studio 2010中/项目/ TFS /原始/主/资源/ WebBot.Web /
LOG:初始PrivatePath = C:\ Users \用户的Elodie \文档\ Visual Studio 2010的\项目\ TFS \原\ MAIN \来源\ WebBot.Web \ BIN
调用汇编:(未知)。
===
日志:此绑定从default加载上下文。
日志:正在使用应用程序配置文件:C:\ Users \用户的Elodie \文档\ Visual Studio 2010的\项目\ TFS \原\ MAIN \来源\ WebBot.Web \ web.config中
日志:使用主机配置文件:
日志:从C使用计算机配置文件:\ WINDOWS \ Microsoft.NET \框架\ v4.0.30319 \ CONFIG \ machine.config中。
日志:政策不被应用到引用在这个时候(私人,自定义,局部的,或基于位置的程序集绑定)。
日志:新的URL文件试图下载:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/根/ e3d82f59 / 764fa8c3 / Microsoft.Rtc.Internal.Media.DLL。
日志:试图下载新的URL文件:/// C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET文件/根/ e3d82f59 / 764fa8c3 / Microsoft.Rtc.Internal.Media / Microsoft.Rtc .Internal.Media.DLL。
日志:尝试新的URL文件下载:/// C:/用户/的Elodie /文档/ Visual Studio 2010中/项目/ TFS /原始/主/资源/ WebBot.Web /斌/ Microsoft.Rtc.Internal.Media.DLL 。
错误:未能完成安装的组件(HR = 0x8007000b)。探测终止。
 

解决方案

替换所有三个动态链接库的64位版本,其32位版本,清洁ASP.NET临时文件夹,然后重新编译。现在工作没有问题。感谢您的帮助。

I really need help on this because I lost my hopes to correct the problem.

I am using Office Communications Server 64bit libraries. There are 3 dlls I use in the project, Microsoft.Rtc.Collaboration.dll, Microsoft.Rtc.Internal.Media.dll and SIPEPS.dll. I am not sure about Microsoft.Rtc.Collaboration but Internal.Media and SIPEPS are both x64. On the GAC assembly list Rtc.Collaboration shows MSIL under Processor Arhitecture and the others show AMD64.

My project compiles without errors with these references but at runtime I receive the error:

Could not load file or assembly 'Microsoft.Rtc.Internal.Media' or one of its dependencies. An attempt was made to load a program with an incorrect format.

I tried compiling the project with CPU set to Any CPU but nothing changes. With both under x64 and x86 setting I receive this error.

Any help is appreciated.

UPDATE: Below is the assembly binding log.

=== Pre-bind state information ===
LOG: User = CONTOSO\elodie
LOG: DisplayName = Microsoft.Rtc.Internal.Media
 (Partial)
WRN: Partial binding information was supplied for an assembly:
WRN: Assembly Name: Microsoft.Rtc.Internal.Media | Domain ID: 9
WRN: A partial bind occurs when only part of the assembly display name is provided.
WRN: This might result in the binder loading an incorrect assembly.
WRN: It is recommended to provide a fully specified textual identity for the assembly,
WRN: that consists of the simple name, version, culture, and public key token.
WRN: See whitepaper http://go.microsoft.com/fwlink/?LinkId=109270 for more information and common solutions to this issue.
LOG: Appbase = file:///C:/Users/elodie/Documents/Visual Studio 2010/Projects/TFS/proto/Main/Source/WebBot.Web/
LOG: Initial PrivatePath = C:\Users\elodie\Documents\Visual Studio 2010\Projects\TFS\proto\Main\Source\WebBot.Web\bin
Calling assembly : (Unknown).
===
LOG: This bind starts in default load context.
LOG: Using application configuration file: C:\Users\elodie\Documents\Visual Studio 2010\Projects\TFS\proto\Main\Source\WebBot.Web\web.config
LOG: Using host configuration file: 
LOG: Using machine configuration file from C:\Windows\Microsoft.NET\Framework\v4.0.30319\config\machine.config.
LOG: Policy not being applied to reference at this time (private, custom, partial, or location-based assembly bind).
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/e3d82f59/764fa8c3/Microsoft.Rtc.Internal.Media.DLL.
LOG: Attempting download of new URL file:///C:/Windows/Microsoft.NET/Framework/v4.0.30319/Temporary ASP.NET Files/root/e3d82f59/764fa8c3/Microsoft.Rtc.Internal.Media/Microsoft.Rtc.Internal.Media.DLL.
LOG: Attempting download of new URL file:///C:/Users/elodie/Documents/Visual Studio 2010/Projects/TFS/proto/Main/Source/WebBot.Web/bin/Microsoft.Rtc.Internal.Media.DLL.
ERR: Failed to complete setup of assembly (hr = 0x8007000b). Probing terminated.

解决方案

Replaced the 64bit versions of all the three dlls with their 32 bit versions, cleaned Temporary ASP.NET files folder and compiled again. Now works without problems. Thanks for the help.

这篇关于臭名昭著的组件绑定错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆