第三方加密托管程序集不会在Windows 7 Pro x64中加载

本文关键字:Windows Pro x64 加载 加密 程序集 第三方 | 更新日期: 2023-09-27 18:20:45

我是一名C#新手,2010年在VS 2010 C#中编写了一个程序,使用第三方托管程序集(EncryptionManager.DLL)加密/解密数据。该程序在安装了.Net 3.5 SP1的XP Pro SP3中运行良好。在启用.NET 3.5的Windows 7 Pro x64上,程序失败,并出现以下错误:

System.BadImageFormatException:无法加载文件或程序集"EncryptionManager,Version=1.0.2798.16361,Culture=neutral,PublicKeyToken=53b6ffdb4dc98f0f"或其依赖项之一。试图加载格式不正确的程序。文件名:'EncryptionManager,Version=1.0.22978.16361,Culture=neutral,PublicKeyToken=53b6ffdb4dc98f0f'

DLL安装在GAC中,并且位于程序搜索路径中
DLL是隐式加载的(编译了引用)
清单和DLL系统版本匹配:

<dependency>
  <dependentAssembly dependencyType="install" allowDelayedBinding="true" codebase="EncryptionManager.dll" size="25896">
    <assemblyIdentity name="EncryptionManager" version="1.0.2978.16361" publicKeyToken="53B6FFDB4DC98F0F" language="neutral" processorArchitecture="x86" />
    <hash>
      <dsig:Transforms>
        <dsig:Transform Algorithm="urn:schemas-microsoft-com:HashTransforms.Identity" />
      </dsig:Transforms>
      <dsig:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
      <dsig:DigestValue>qAxbPPkBK+n8/jtJ8pnjvJg/E2A=</dsig:DigestValue>
    </hash>
  </dependentAssembly>
</dependency>

我需要做些什么才能在Windows7上运行?

第三方加密托管程序集不会在Windows 7 Pro x64中加载

将项目设置为使用x86而不是Any CPU作为目标。