我正在尝试在我的MVC3项目中的共享视图中引用System.Data.Entity.Validation(EF 4.1版本)命名空间。我已经能够使用以下方法引用其他外部库:
@using Example.Namespace
然而,当涉及到新的4.1 EntityFramework所包含的库时,我无法做到同样的事情。我尝试在Views文件夹中的web.config中添加以下内容:
<add namespace="System.Data.Entity.Validation, EntityFramework, Version=4.1.10715.0, Culture=neutral, PublicKeyToken=B77A5C561934E089" />
我认为我在正确的轨道上,因为现在智能感知正在扩展其他以前工作的外部命名空间。有人可以帮助我确定这个Web.config条目应该是什么样子吗?
编辑:明确一下,我最终想在我的视图中使用DbEntityValidationException,据我所知,它是EntityFramework 4.1 DLL的一部分。我正在按照此帖子中的信息进行操作(https://dev59.com/XnA75IYBdhLWcg3wipqH部分(而不是项目的Web.config)。
我仍在努力解决这个问题,我发现将程序集添加到View的web.config文件的system.web/compilation/assemblies部分也“有效”,因为它会打破所有智能感知或者给我想要的命名空间的一部分。例如,我添加了:
<add assembly="System.Data.Entity, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
这允许我在视图中输入System.Data.Entity,但此后在智能感知中没有任何内容。如果我将其更改为:
<add assembly="System.Data.Entity.Validation, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"/>
关闭并重新打开我的项目后,我的视图中的所有内容都无法使用智能感知,并出现以下错误:ASP.NET运行时错误:无法加载文件或程序集'System.Data.Entity.Validation,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089'或其某个依赖项。系统找不到指定的文件。