MVC 脚手架 - 参考程序集中缺少类

Posted

技术标签:

【中文标题】MVC 脚手架 - 参考程序集中缺少类【英文标题】:MVC Scaffolding - Missing Classes from Reference Assemblies 【发布时间】:2015-03-29 01:24:12 【问题描述】:

在添加新的 MVC 或 WebApi 控制器时,对于 MVC 脚手架模型类和数据上下文类下拉列表中显示/未显示的内容是否有任何特殊规则?

我们在 MVC 项目中引用的其他程序集中有我们的数据上下文和模型,但仅显示了该 MVC 项目中的类和上下文。

引用的程序集都属于同一个***命名空间,例如Company.Domain 和 Company.Data 则 MVC 项目位于 Company.UI 中。

我能看到的唯一方法是将类复制到 MVC 项目中,然后构建它,然后删除它们并重新引用 Company.Data 和 Company.Domain 程序集。

我们在 VS 2013 Update 3 中使用 MVC5

【问题讨论】:

【参考方案1】:

你只需要做两件事:

    确保您的 MVC 项目 (Company.UI) 具有对具有您需要的类的项目的引用。 这些类被标记为公开。默认情况下,它们是内部的,无法从其他项目访问。

【讨论】:

类都是公开的,项目都被引用了。 因此,如果我将 Company.Data 和 Company.Domain 项目添加到解决方案中,然后使用 Add Reference > Solution > Projects 引用它们,它们都会显示在下拉列表中。 如何在没有添加参考>解决方案>项目的情况下添加参考? 添加参考 > 浏览 > 然后从我们的库文件夹中选择我们的 DLL @ASG,您的第二条评论似乎表明您可以正常工作。是这样吗?

以上是关于MVC 脚手架 - 参考程序集中缺少类的主要内容,如果未能解决你的问题,请参考以下文章

解决命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)

具有继承的 MVC 5 脚手架使用错误的实体集

vs中程序集的引用

CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)

CS0234: 命名空间“System.Web.Mvc”中不存在类型或命名空间名称“Ajax”(是否缺少程序集引用?)

错误1找不到类型或命名空间名称“Controller”(您是否缺少using指令或程序集引用?)