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 を見ると、2 つの log4net が見つかりました。1 つは AMD64 で、もう 1 つは 32 ビットです。おそらくweb.configの参照を削除すると、.netフレームワークがGACで参照されているすべてのレジスタを見つけるため、ローカルで機能しますが、Azureは明らかに機能しません。

Crystal レポートを生成する log4net 権限を使用して Windows Azure で 64 ビット アプリを公開するにはどうすればよいですか?

4

1 に答える 1

0

このエラーを修正するには、3 つのポイントを確認する必要があります。

1° 私の質問で言ったように、プロセッサー (AMD64 または x86) はエラーのフォントの 1 つです。一部の記事では、展開モードを ANY から x86 に変更することについて述べています。これはこのエラーを修正せず、状況に応じて他のバグを生成します。これをしないでください。

2° このリンクは、log4net を作業用に変更する方法を示しています。場合によっては、これで問題が解決することがあります。

3° プロセッサが log4net のバージョンで正しく、バグが続く場合は、Crystal Reports CR をサーバーに再度インストールしてください。私の場合、Azure Cloud アプリをインストールする必要があります。

于 2013-08-23T06:32:17.493 に答える