无法获得模型的反射类型

时间:2017-04-27 15:06:09

标签: c# asp.net-core-mvc visual-studio-2017

第1步:右键单击以生成

this is my first step

第2步:设置

enter image description here

第3步:错误消息

My Vs2017 popup this error message, when i create the view from controller

第4步:我的模特

enter image description here

如何解决这个问题?我无法生成创建表单

7 个答案:

答案 0 :(得分:3)

到目前为止,即使您尝试添加说明,现有控制器和现有操作的另一个视图(例如ManageController.AddPhoneNumber与现有视图模型 - AddPhoneNumberViewModel),仍然会抛出相同的异常,尽管存在已经是使用完全相同的视图模型的相同动作和控制器的视图。

无需上传任何其他屏幕截图或其他任何内容,问题似乎出现在VS 2017代码生成器(脚手架视图问题)中,并希望在以下某些更新中解决。

因此请耐心等待使用复制/粘贴方法,无论如何您都需要重新设计表单。显然,这不是你(我)问题的解决方案,它只是说 - “你没有做错,这是一个VS错误,等待更新”。

答案 1 :(得分:3)

我已经多次遇到与脚手架有关的这个问题和类似问题,并且我的goto解决方案每次都有效,包括解决这个特定问题。

  1. 右键单击解决方案文件
  2. 选择“重建解决方案”

...然后重试您的操作。

这在VS2017和VS2019中为我工作了很多次-包括今天的最新VS 2019。

由于未知原因,似乎脚手架被已经建造的东西绊倒了。

答案 2 :(得分:2)

我也遇到了同样的问题,请确保您的控制器中没有问题,没有完成的代码导致了该错误,一旦我将其注释掉,它就创建了没有任何问题的视图。

答案 3 :(得分:0)

我遇到了同样的问题,我通过从项目文件中将C#版本从7.2降级到7.1来解决它

enter image description here

显示错误。 enter image description here

我记得我应用了一些升级C#版本的VS代码提示。代码提示是在方法调用中添加参数名称,如

enter image description here

后来我尝试添加一个视图,它显示了上述问题。经过这么多个小时的搜索和无所事事,我开始记得C#版本更改

我降级了C#版本并删除了参数名称,然后我成功添加了视图。

顺便说一句,错误与模型无关,这是一个很大的误导。

答案 4 :(得分:0)

我也遇到了这个问题,如果您已经创建或修改了类(曾经用于脚手架)并且还没有完成构建,请先构建项目,然后重试。 / p>

.NET无法构建尚未构建的任何类。

答案 5 :(得分:0)

我与您有相同的问题,但是我设法通过以下方法解决了该问题:

  1. 构建项目(将看到构建失败)。
  2. 解决项目,直到成功构建项目。
  3. 然后,再次添加/生成视图。 (应该能够自动生成视图)

答案 6 :(得分:0)

我真不知道发生了什么,恢复到旧版本的代码即可解决。

我尝试过的不起作用

  • 重建
  • 清理/删除bin obj文件夹
  • 使用其他模型
  • 使用其他模板
  • 升级Visual Studio
  • 确保没有编译错误。

我知道不是问题

  • 继承其他类的模型类

我怀疑这是一个问题,但尚未测试。

  • 参数相同的泛型方法仅受泛型约束不同

如有兴趣,我可以提供代码和详细信息。