史前史:
我有一个简单的 ASP.NET MVC3 应用程序。在项目文件中,我打开了构建 MVC 的视图:
<MvcBuildViews>True</MvcBuildViews>
我也使用实体框架 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>
以及它如何影响构建过程?