更新: ASP.NET/Razorエラーの原因を特定した後に質問が更新されました。
Windows Azureで実行する必要があるため(C ++ / CLIのAnyCPU設定なし)、x64としてコンパイルするように構成されたC ++/CLIプロジェクトを参照するASP.NETMVC3プロジェクトがあります。
問題は、C ++ / CLIプロジェクトのプラットフォーム設定をx64に構成し([ビルド]-> [構成マネージャー]で)、ソリューションをビルドしてからランダムビューを開くとすぐに、ASP.NETがロードしようとしているという警告が表示されることです。誤ったフォーマットアセンブリの後に、Razor構文エラーによって引き起こされた一連のエラーが続きます。
ランダムビューのスクリーンショット:
ログのスクリーンショット:
主なエラーは次のとおりです。
警告:ASP.NETランタイムエラー:ファイルまたはアセンブリ'LZGEncoder'またはその依存関係の1つを読み込めませんでした。間違った形式のプログラムを読み込もうとしました。
これが発生した場合でも、ソリューションをコンパイルして実行し、参照されているC ++ / CLIアセンブリを問題なく使用できるため、開発が妨げられることはありませんが、非常に厄介です(特に、IntelliSenseがブロックされ、Razorコードに実際のエラーがあります)。
C ++ / CLIのプラットフォームをWin32にリセットすると、すべてのエラーが消えますが、もちろん、ソリューションを実行すると、MVC3Webページで同じ誤った形式のエラーが発生します。
これはASP.NETのバグですか、それとも何かを構成するのを忘れましたか?職場と自宅(Azureの有無にかかわらず)でエラーを再現できたので、VS2010のインストールではないと思います。ありがとう。
更新:
今のところ、P / Invokeを使用してCライブラリを直接呼び出すC#ラッパーを作成しました。これはうまく機能するため、C ++ / CLIラッパーも必要ありませんが、この質問には答えられないので、ここで説明します。開いたままにします。
MVC3 / RazorまたはVS2010のバグだと思いますが、どちらも間もなく新しいバージョンがリリースされます。