7

次のように単純化できる VS2012 ソリューションがあります: asp.net mvc 4 Web アプリ、中間の c# クラス ライブラリ プロジェクト、計算用の最後の c# ライブラリ プロジェクトなど

現在、Web アプリには他のプロジェクトへの参照がなく、ビルド時に「任意の CPU」に構成されています。最終プロジェクトは x64 です。中間プロジェクトを介して Web アプリをエンド プロジェクトに参加させたいのですが、Web アプリから中間 x64 プロジェクトを参照しようとすると、アーキテクチャ タイプのエラーが発生することは理解できます。Web アプリを x64 に設定すると、同じ種類のエラーも発生します。

Web アプリは x64 サーバーで実行されるため、最も簡単な方法は Web アプリを x64 に設定することだと思いますが、遡及的に変更できない場合、つまり x64 として作成する必要がある場合があると思います。

私の質問は、既存の Web アプリを x64 に変換できますか? そうでない場合、x64 Web アプリを作成するにはどうすればよいですか (オプションが表示されませんでした) 編集: 新しい mvc 4 プロジェクトをセットアップしても、ビルド設定を x64 に変更しても、この問題が発生します。

私がソフトウェア開発に非常に慣れていないと聞いて驚かれることでしょう。x86 と x64 の間のビルド エラーは直感的に見えますが、その理由はよくわかりません。このトピックには、「すべてのプロジェクトを任意の Cpu に変更しますが、最終プロジェクトを x64 のままにしておくことに制約があります。

Windows 8 と IIS 8 を使用しています。

参考までに、中間プロジェクトの参照を Web アプリに追加するときに表示されるビルド警告は次のとおりです。

警告 1 ビルド中のプロジェクトのプロセッサ アーキテクチャ "MSIL" と参照 C:\MyPath\Sln\MiddleProject\bin\x64\Debug\MiddleProject.dll", "AMD64" のプロセッサ アーキテクチャの間に不一致がありました。不一致はランタイム エラーを引き起こす可能性があります。プロジェクトと参照の間でプロセッサ アーキテクチャを調整するために、Configuration Manager を使用してプロジェクトのターゲット プロセッサ アーキテクチャを変更することを検討してください。あなたのプロジェクト。

4

2 に答える 2

31

答えを見つけるのに、この同じ問題をかなり掘り下げる必要がありました。IIS Express を 64 ビット プロセスとして実行する必要があることがわかりました。どうやってそれをしますか?

VS でこれを変更します: ツール | オプション | プロジェクトとソリューション | Web プロジェクト | IIS Express の 64 ビット バージョンを使用する

問題の解決に役立つことを願っています。

于 2015-06-15T17:39:00.123 に答える