0

我的工具:Visual Studio 2010、Crystal Reports 13、MVC3 APP、Windows Azure

当我在 Windows Azure 中发布我的 MVC 应用程序时,我收到错误:Could not load file or assembly 'log4net' or one of its dependencies. An attempt was made to load a program with an incorrect format.

我的 SO 是 64 位,服务器以 32 位运行。我尝试将我的应用程序更改为部署在任何 CPU 和 32 位上,但没有效果。我调用的程序集是:

<add assembly="log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=692FBEA5521E1304" />

如果我删除汇编和编译,本地工作正常。但如果发布我得到错误。在 GAC 中我发现了两个 log4net,一个在 AMD64 中,另一个在 32 位中。可能删除 web.config 上的引用然后在本地工作,因为 .net 框架在 GAC 中找到每个引用的寄存器,但 Azure 显然不起作用。

如何使用 log4net 权限在 Windows Azure 中发布我的 64 位应用程序以生成水晶报告?

4

1 回答 1

0

要修复此错误,必须检查 3 点:

1°我在我的问题中所说的,处理器(AMD64或x86)是错误的字体之一。一些文章说将部署模式从 ANY 更改为 x86。这不会修复此错误,并根据情况生成其他错误。不要这样做。

2° 此链接显示如何更改 log4net 以进行工作。在某些情况下,这可以解决问题。

3° 如果您的处理器与 log4net 版本正确并且错误仍然存​​在,请再次在您的服务器中安装 Crystal Reports CR,在我的情况下可以正常工作,也许安装修复了 bin 文件夹中的一些其他错误。就我而言,我需要安装 Azure Cloud 应用程序。

于 2013-08-23T06:32:17.493 回答