64ビットのみの2つのアセンブリを参照するWebサイトがあります。これらのアセンブリの32ビットバージョンは存在しますが、x64バージョンで実行します。 IISで実行されているASP.NETは、Webサイトのコンパイルや実行に問題はありません。しかし、VS.NET 2010はそれをコンパイルしません。 "参照されたライブラリ 'c:\ inetpub \ wwwroot \ eDocEngine \ Bin \ ABCpdfCE7.dll'を読み込めません:不正な形式のプログラムを読み込もうとしました。 「Generic.List」のタイプが定義されていないと主張するなど、偽の何百ものエラーを生成します。x64アセンブリを参照するVS.NET * Webサイト*(Webアプリケーションではない)をコンパイルしていますか?
私が64ビットDLLを32ビットバージョンに置き換えると、VS.NETは突然すべてのコードに満足しています。
私はCassiniではなく、IISでデバッグしてテストしていますので、64ビットDLLをそのまま使用したいと考えています。これを達成するための方法はありますか?
I foundを検索しているときに、Webアプリケーションを使用していた場合に役立つapp.configの設定があります。でも僕はそうじゃない;それはウェブサイトです。私は何でもできる?
不正な形式のメッセージは、読み込んでいるdllの「ビット数」に関連しています。どのバージョンのIISを使用していますか? –
Windows 7、したがってIIS6.1での開発。私はビットのすべてについて知っています。私はx86とx64のための別個のDLLを持っています。私のオペレーティングシステム、したがって私のIISはx64を実行しています。しかし、私は繰り返し、Visual Studioはx64 DLLを参照するWebサイトプロジェクトをコンパイルすることを拒否します。 Visual Studioでは、実際にIISで完全に動作すると、コードにエラーが発生していると主張しています。 数か月後には、私たちはWebアプリケーションに変換する予定であり、そのすべてが最終的に消え去るでしょう。 –
IISマネージャを開いてアプリケーションプールを開き、使用しているアプリケーションプールを選択します。右側の「詳細設定」をクリックし、「(一般)」の下に、私が仮定している「32ビットアプリケーションを有効にする」の設定を「真」にする必要がありますか? –