2010-03-02 65 views
1

PostSharp 2.0包含CLR主机并实现IHostAssemblyStore :: ProvideAssembly。IHostAssemblyStore :: ProvideAssembly导致异常“定位的程序集清单定义与程序集引用不匹配”

从托管代码,我调用:

Assembly.Load("logicnp.cryptolicensing, Version=3.0.0.0, Culture=neutral, 
       PublicKeyToken=4a3c0a4c668b48b4") 

我IHostAssemblyStore :: ProvideAssembly的执行接收下面的输入第一个参数pBindInfo:

0x002cd578 { 
dwAppDomainId=1 
lpReferencedIdentity=0x03c123f8 "logicnp.cryptolicensing, version=3.0.0.0, 
          culture=neutral, publickeytoken=4a3c0a4c668b48b4" 
lpPostPolicyIdentity=0x03c14620 "logicnp.cryptolicensing, version=3.0.0.0, 
    culture=neutral, publickeytoken=4a3c0a4c668b48b4, processorarchitecture=x86" 
} 

我的实现,然后返回正确的流。请注意,该文件的绑定标识为“logicnp.cryptolicensing,version = 3.0.0.0,culture = neutral,publickeytoken = 4a3c0a4c668b48b4”。

当我从ProvideAssembly返回此文件中,CLR抛出以下异常:

Could not load file or assembly 'logicnp.cryptolicensing, Version=3.0.0.0, 
Culture=neutral, PublicKeyToken=4a3c0a4c668b48b4' or one of its dependencies. 
The located assembly's manifest definition does not match the assembly 
reference. (Exception from HRESULT: 0x80131040) 

所以我回来不符合政策后的参考,这是真正的大会,但这个政策后参考是不正确的。

我想知道这个问题是否有任何解决方法,或者我误解了某些东西。

这对我来说是一个重要问题,我有很多用户在我们的支持论坛上抱怨。

PS。配置:CLR 2.0 x86或x64(安装最新更新),Windows 7 x64。

我还在MSDN论坛上发布了这个问题http://social.msdn.microsoft.com/Forums/en/clr/thread/93efa20f-5423-4d55-aa3d-dadcc462d999

回答

相关问题