先史時代:
簡単な ASP.NET MVC3 アプリケーションがあります。プロジェクト ファイルで、MVC のビューの構築を有効にしました。
<MvcBuildViews>True</MvcBuildViews>
また、Entity Framework 4.0 を使用しています。System.Data.Entity
そして、アセンブリへの参照を Web プロジェクトに追加しました。(はい、これは UI でデータ アクセス レイヤーを使用するのに適していないことはわかっています。これはテスト専用です)。プロジェクトファイルでは次のようになります。
<Reference Include="System.Data.Entity" />
次に、ビュー (Razor エンジン) で ObjectContext クラスを使用しようとしましたが、次のエラー メッセージが表示されました。
errorCS0012: The type 'System.Data.Objects.ObjectContext' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.
私の別のプロジェクト ファイルでは、System.Data.Entity が別の方法で参照されていることがわかりました。
<Reference Include="System.Data.Entity" >
<Private>True</Private>
</Reference>
<Private>True</Private>
次に、子要素を使用してプロジェクト ファイル (参照セクション) を変更したところ、問題は解決しました。
では、<Private>True</Private>
ビルド プロセスにどのような影響を与えるのでしょうか。