MVC视图看不到其他项目的引用
本文关键字:引用 项目 其他 视图 看不到 MVC | 更新日期: 2023-09-27 18:11:31
我有一个解决方案,其中有两个项目。一个是控制台应用程序,另一个是ASP。. NET MVC应用程序。
我的控制台应用程序正在使用实体框架,我想从ASP访问它的一些数据。. NET MVC应用程序。
我在asp.net应用程序项目中添加了一个对控制台应用程序项目的引用,在控制器中这工作得很好,我能够访问数据库上下文并查看数据。
但是,视图抛出标准的"类型或命名空间名称无法找到(您是否缺少using指令或程序集引用?)"异常。
为什么控制器可以看到控制台应用命名空间,而视图不能?
我需要在某处添加另一个引用吗?
编辑:using语句是这样的:
@model PagedList.IPagedList < PlacesAPI.Models.RootDomain>
@using PagedList.Mvc;
我试过不完全合格和做@using PlacesAPI
,但它总是找不到PlacesAPI
的参考,但它在控制器中工作得很好。
我在另一个线程上发现了一个评论,说如果你正在使用来自虚拟源(如数据库)的外部引用(我是),那么你必须在根web中放置一个引用。配置文件,而不是视图web。配置文件。
我试着添加:
<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。
问题是我添加了一个命名空间引用,但不是对视图web.config中的程序集的引用。我还需要添加:
<system.web>
<compilation>
<assemblies>
<add assembly="PlacesAPI" />
</assemblies>
</compilation>
</system.web>