【发布时间】:2012-01-17 14:13:30
【问题描述】:
我是一名 C# 新手,2010 年在 VS 2010 C# 中编写了一个程序,使用第三方托管程序集 (EncryptionManager.DLL) 加密/解密数据。 程序在安装了 .Net 3.5 SP1 的 XP Pro SP3 中运行良好。 在启用 .NET 3.5 的 Windows 7 Pro x64 上,程序失败并出现以下错误:
System.BadImageFormatException:无法加载文件或程序集“EncryptionManager,版本=1.0.2978.16361,Culture=neutral,PublicKeyToken=53b6ffdb4dc98f0f”或其依赖项之一。试图加载格式不正确的程序。 文件名:'EncryptionManager, Version=1.0.2978.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>
我需要做些什么才能让它在 Windows 7 上运行?
【问题讨论】:
-
就是这样!非常感谢。编译为 x86 解决了这个问题