我设法创建了Model First DBContext模型(在它是普通的ObjectContext派生模型之前)。
现在我的VS没有在"添加控制器"中的模型选择列表中显示我的任何类。或多或少外部的一切都显示在这里 - 除了我自己的stuf。是的 - 我编译了代码,代码编译没有错误,并多次重启VS.不知道到底发生了什么。
在数据上下文类选择器中相同。
Manuelly设置课程不起作用。添加将始终抱怨我必须从列表中选择。
VS获取填充列表的数据在哪里?
框架:MVC4,VS2010,EF4.3.1
答案 0 :(得分:12)
有同样的问题。发现只是构建项目并没有解决缺少模型类的问题。然而,重建项目,立即解决了。
答案 1 :(得分:3)
它起作用的原因是,通过将它放在另一个项目中,你“构建”它然后它出现了。如果您已经构建了第一个项目,然后尝试添加一个控制器bam,它将会存在。
答案 2 :(得分:3)
“添加控制器”未显示脚手架的模型类
使用的环境:使用C#Visual Studio 2013的ASP.NET MVC5
解决方案1:如果解决方案名称是SAME作为项目名称,则只需清洁解决方案,构建解决方案。它会起作用。
解决方案2:如果项目名称中的解决方案名称不同,请检查以下步骤:
(i)检查您的模型类名称空间为
namespace SolutionName.ProjectName.Models
{ ...}
假设解决方案名称为“WGT”且项目名称为“MS”,那么模型类称用户应为
namespace WGT.MS.Models
{ public class User{...}}
(ii)在此之后,明确解决方案。
(iii)构建解决方案
一定会奏效。花了很多时间后找到这个解决方案。这是一个实用且实施的解决方案。
答案 3 :(得分:2)
有同样的问题。我修好了。
答案 4 :(得分:1)
最后我设法让脚手架再次工作。 我将model.edmx重构为主项目。模板化的东西现在将在这个新的模型项目中生成模型类。 将模型项目添加到主项目后,类再次显示在控制器模型选择框中。 奇怪的是它似乎在没有分离的全新设置解决方案中工作......
答案 5 :(得分:1)
可能相关:Add View Model class dropdown not showing my class
我在添加控制器时正在寻找解决方案,但是在达到这一点之前就已经达到了上述帖子。删除AssemblyInfo.cs并设置项目的属性对我来说(对于VS2010)。
答案 6 :(得分:1)
首先在一个单独的项目中与EF模型存在同样的问题。
Rebuild all什么也没做,只是重新加载到Visual Studio的新实例中修复它。
答案 7 :(得分:1)
我遇到了同样的问题,检查包(asp.net mvc,& EF) 兼容性,升级所有nuget包。清理和重建项目。这对我有用。
http://forums.asp.net/t/1791616.aspx?Can+t+create+new+controller+No+model+classes+are+available+
答案 8 :(得分:0)
创建一个新的MVC互联网站点。添加现有(您的模型类) - 验证它是否有效,然后开始区分这两个项目。
答案 9 :(得分:0)
我刚刚在一个有效的项目中遇到过这个问题。 EF或MVC没有更新,它刚刚开始抛出"没有模型类......"信息。我备份了我的项目,从我的HD中删除了它,并且在这种情况下从源代码控制获得了最新版本的SVN。我重建了这个项目,现在它再次起作用,就像魔法一样。
VS 2012 EF 5.0 .NET 4.5 MVC 4.0
答案 10 :(得分:0)
建筑/重建对我不起作用。我不得不关闭并重新打开解决方案,然后课程终于出现了。
答案 11 :(得分:0)
我在一个特定模型上也遇到了同样的问题。我将.Net Core 2.x和EF Core一起使用。 原来是因为它继承了一个类,该类又继承了Microsoft.AspNetCore.Identity.IdentityUser。 EF Core不允许我使用该模型。我从基类中删除了IdentityUser的继承关系,该模型出现在EF new Controller的下拉列表中。
答案 12 :(得分:0)
当您有一个引用另一个项目的项目时,可能会发生此问题。 这称为传递项目参考,并以多种方式体现。 在某些情况下,您需要直接引用项目而不是传递解决该问题。
例如:项目A,项目B,项目C 项目B引用了C,因此在repos / b / bin / debug中,您拥有b.dll和c.dll 项目A都需要,所以您将引用指向b / bin / debug文件夹中的B.dll和C.dll-您看不到c.dll中的任何模型,但可以看到b.dll模型
修复/解决方法:直接参考repos / b / bin / debug / b.dll和repos / c / bin / debug / c.dll
答案 13 :(得分:0)
我遇到了类似的问题,尽管确保我包括了
using ProjectName.Models;
在我的控制器文件的顶部。构建/重建对我不起作用。也没有关闭Visual Studio的所有实例,然后重新打开项目。
我认为问题可能是我们正在使用TFS(Microsoft的Team Foundation Server)。我遇到了问题,因为在将控制器(文件)移动到controllers文件夹之前,我先创建了模型,然后在views文件夹中创建了控制器。
我的解决方案是创建我的模型,在其他地方复制控制器代码,删除控制器,重建/构建解决方案。然后,我创建了一个新的控制器,并复制了正确的代码,嘿,很高兴,它识别出模型类。