0

我有使用 CDO ActiveX 的 .NET 项目。Everyhting 在 Windows Server 2003 上运行良好,但是当我将项目移动到 Windows 2008 时,出现以下错误。这是因为 CDO 在 Windows 2008 上不可用吗?这怎么可能解决?

Error: Could not load file or assembly 'Interop.CDO, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. An attempt was made to load a program with an incorrect format., 
StackTrace    at MailBotConsole.ServiceClass.ProcessEmail(String email)
4

2 回答 2

3

System.BadImageFormatException当 64 位程序集尝试加载 32 位程序集(反之亦然)时,会发生这种情况。我猜你从 2003 年到 2008 年的举动也涉及到架构的变化。确保您的项目与引用程序集的构建目标匹配,或者尝试构建为 AnyCPU

于 2011-04-24T22:54:03.997 回答
0

从 32 位 win xp 环境切换到 windows 7 64 位时,我遇到了同样的问题。我想为遇到类似问题的其他人提供我的解决方案,我花了几个小时才弄清楚这一点。

我读到我需要将我的 Active Solution Platform 切换为在 x86 模式下构建,但这并没有解决问题。结果我可以将我的平台留给任何 CPU,并在我的应用程序池中的高级设置下确保 .net 框架是正确的(在我的情况下,我必须将其从 4.0 切换到 2.0)并且我必须打开“启用 32 位”应用程序”设置为假。

于 2012-01-11T19:53:18.287 回答