2010-11-19 19 views
6

Webアプリケーションはどのようにして64ビットアセンブリを参照できますか?Visual Studio 2010 - 64ビットアセンブリを参照するWebサイトを構築できません

私には、Webアプリケーションとクラスライブラリのソリューションがあります。クラスライブラリは64ビットで構築されています。デフォルトでは、Webアプリケーションは、どれCPUですが、私が構築し、実行した場合、私は次のエラーを取得する:

Could not load file or assembly 'ClassLibrary64, 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.

私は32ビットまたは任意のCPU上でプロジェクトを実行することはできません - 私は、SharePointと対話しています2010年にサイトを64ビットで実行する必要があります。またはSharePoint APIが機能しません。

アイデアをお持ちですか?

+0

この問題を解決できましたか?私はまったく同じ問題を扱っています。 – Kobi

答えて

0

IISはおそらく32ビットとして動作しています。なぜAnyCPUとしてクラスライブラリを構築しないのですか?

+1

SharePointオブジェクトモデル(api)は64ビットで、それを使用するプロジェクトは64ビット(anycpuではなく)としてコンパイルする必要があります。 – David

0

これは、WebアプリケーションがJITコンパイルされて32ビットになるため、64ビットアセンブリをワーカープロセスにロードできないためです。

Webアプリケーションアセンブリを特定のビット数にコンパイルする必要がある理由はほとんどありません。クラスライブラリがx64である必要がありますか、それともAnyCPUとして残してもいいですか?

また、64ビットOSの64ビットマシンでIISを実行していますか?いずれかが32ビットのみの場合は、とにかく64ビットアセンブリをロードすることはできません。

+2

私は、SharePoint 2010オブジェクトモデルに対してコードを実行しており、wcfサービスを通じて公開しています。 SharePoint 2010は64ビットなので、このようなコードは64ビットでコンパイルする必要があります。ここでの問題は、Webサービス経由で64ビットプロジェクトと対話する必要があることです。私はAnyCpuとして残念ながら残すことはできません。 – David

関連する問題