我有一个包含两个项目的解决方案。一个是控制台应用程序,另一个是ASP.NET MVC应用程序。MVC视图没有看到对其他项目的引用
我的控制台应用程序正在使用实体框架,我想从ASP.NET MVC应用程序访问它的一些数据。
我在asp.net应用程序项目中添加了一个对我的控制台应用程序项目的引用,并在控制器中工作正常,我能够访问数据库上下文并查看数据。
但是,视图会抛出标准“无法找到类型或名称空间名称(是否缺少using指令或程序集引用?”)异常。
为什么控制器可以看到控制台应用程序命名空间,但视图不能?
我是否需要在某处添加其他参考?
编辑:
这是使用的语句是什么样子:
@model PagedList.IPagedList < PlacesAPI.Models.RootDomain>
@using PagedList.Mvc;
我已经试过没有完全限定,做@using PlacesAPI
但它始终未能找到参考PlacesAPI
但它在控制器正常工作。
编辑:
我发现另一个线程说,如果你正在使用从如数据库虚拟源的外部refernece(我是),那么你必须把根网站的引用注释。配置文件不是视图web.config文件。
我尝试添加:
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35">
<section name="host" type="System.Web.WebPages.Razor.Configuration.HostSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
<section name="pages" type="System.Web.WebPages.Razor.Configuration.RazorPagesSection, System.Web.WebPages.Razor, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" requirePermission="false" />
</sectionGroup>
和
<system.web.webPages.razor>
<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
<pages pageBaseType="System.Web.Mvc.WebViewPage">
<namespaces>
<add namespace="PlacesAPI" />
</namespaces>
</pages>
</system.web.webPages.razor>
到根web.config,但它给了同样的错误。
您需要在cshtml文件中使用using语句。 –
我有使用语句,但它引发异常“无法找到类型或名称空间名称” – Guerrilla
它是否完全合格?另外,您可能想要将命名空间添加到Views \ web.config中的pages :: namespaces元素 –