.net:当我更新程序集版本时,它说:无法加载文件或程序集。需要一个强名称的程序集

时间:2011-02-22 09:02:30

标签: .net serialization version signature strongname

我有一个带有C#代码的程序集。这个程序集的版本是1.0.0.0。当我将此程序集的数据序列化为二进制时,此程序集的信息被序列化。然后我将此程序集版本更新为4.0.0.0,**

  

我删除了签名

**。当我反序列化程序集的数据时,会发生异常,即“无法加载文件或程序集'[AssemblyName],Version = 1.0.0.0,Culture = neutral,PublicKeyToken = [TokenKey]'或其依赖项之一。需要一个强名称的程序集。(HRESULT异常:0x80131044)“。

如何将旧版本程序集重定向到新版本程序集? 配置程序集绑定是否有效?

1 个答案:

答案 0 :(得分:0)

在您的配置中,添加以下块

    <runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="yourAssembly" publicKeyToken="PKTokenOfYourAssembly"/>
    <bindingRedirect oldVersion="1.0.0.0" newVersion="4.0.0.0"/>
  </dependentAssembly>
</assemblyBinding>