第三方加密托管程序集不会在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上运行?
将项目设置为使用x86而不是Any CPU作为目标。