各モジュール (= 領域) がクラス ライブラリであるモジュラー MVC4 アプリを構築しています。モデルとコントローラーは .dll にコンパイルされ、ビューは適切なフォルダーにコピーされます。実行時には、すべて正常に動作します。設計時には厄介な問題が 1 つ残っています。それは、クラス ライブラリ内で Razor ビューを編集するときに、Visual Studio が System.Web.Optimization 名前空間を認識しないことです。
The name "Styles" does not exist in the current context.
The name "Scripts" does not exist in the current context.
ルートと内部 web.config の system.web/compilation セクションにアセンブリを追加しようとしました。
<add assembly="System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" />
特定のバージョンなしでも試してみました。どちらの方法でも問題は解決しませんでしたが、asp.net ランタイム エラーが発生しました (カミソリ ビューの最初の行に表示されます)。
Could not load file or assembly 'System.Web.Optimization, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35' or one of its dependencies. The system cannot find the file specified.
アセンブリがプロジェクトで参照され、「ローカルにコピー」が「True」に設定されています。また、かみそり構成セクションに名前空間として追加されます。
将来、他のアセンブリで遭遇する一般的な問題だと思います。
編集:クラス ライブラリ内のカミソリ ビューで Intellisense を使用するための一般的なセットアップを行いました。VS2010 が最適化名前空間を認識しないことを除いて、これまでのところすべてが機能しています。