ASP.NET MVC3 プロジェクトでクラス ライブラリを使用しています。
それを機能させるために、私は次のことを行いました:
- エリアの使用
- カスタムの使用
VirtualPathProvider
BuildManager.AddReferencedAssembly
アセンブリごとに使用- Razor/wizards のサポートを追加するために csproj ファイルを変更しました (
<ProjectTypeGuids>{E53F8FEA-EAE0-44A6-8774-FFD645390401};{fae04ec0-301f-11d3-bf4b-00c04f79efbc}</ProjectTypeGuids>
) web.config
s を Web プロジェクトから各クラス ライブラリ プロジェクトにコピーしました
かみそりビューのインテリセンスを除いて、すべてが機能します。次のような警告が表示されます。
機能「ラムダ式」は、ISO-2 C# 言語仕様の一部ではないため使用できません
クラス ライブラリは、.NET 4 を使用するように設定されています。
同じ問題に対処する他の質問がいくつかあります
- Razor intellisense エラー: ISO-2 C# 言語仕様の一部ではないため、機能 '拡張メソッド' を使用できません
- MVC 2 with VS 2010 View Building Error: 機能 'anonymous types' は、ISO-2 C# 言語仕様の一部ではないため、使用できません
しかし、コンパイラを強制的に 2.0 で実行させるようなものは見つかりません (実行時にビューが失敗することはありませんか?)