我已经完成了以下教程:教程:使用ASP.NET内核创建Razor应用程序
完成后,我决定在电影中添加评论(只是为了学习)。因此,我在“模型”文件夹中添加了一个新的Review类:
public class Review
{
public int ID { get; set; }
//[StringLength(50, ErrorMessage = "The Title must be less than {1} characters.")]
[StringLength(60, MinimumLength = 3)]
[Required]
public string Title { get; set; }
public string Description { get; set; }
[Range(1, 5)]
public int Rating { get; set; }
}然后,在我的“页面”文件夹中,我创建了一个名为“Review”的新文件夹,我右键单击了->,添加了->新支架项目。在使用实体框架(CRUD)选择Razor页面后,我添加了以下细节,如图片所示:

我的问题是,在VS生成适当的代码之后,应用程序不会编译,因为它会产生几十年的错误,例如:
Error CS0229 Ambiguity between 'CreateModel._context' and 'CreateModel._context' RazorPagesMovie有人能告诉我为什么会出现这个错误吗?
编辑:脚手架之后的,我观察到我有相同的文件名(以及解决方案中的类)。例如,我有由脚手架自动生成的CreateModel类声明了两次(一次用于电影,一次用于评论):

编辑2:似乎两个CreateModel类(用于电影和评论)具有完全相同的名称空间(命名空间RazorPagesMovie)。它们不应该是类似于:名称空间RazorPagesMovie.Pages.Movies和名称空间RazorPagesMovie.Pages.Reviews吗?
发布于 2020-01-30 16:42:23
发布于 2021-08-12 17:41:50
在将ViewModel复制并粘贴到新文件夹后,出现了同样的问题。
关闭VS并重新打开它。所有的错误都消失了,我能够重新构建。
发布于 2020-08-18 16:12:58
我还收到了这些错误消息。原因是我复制了一个代码文件,并将该副本保存在同一个文件夹中。对于Visual,副本中的所有函数都是重复的,VS被混淆了。
当我将备份代码文件移到另一个位置时,错误就消失了!
https://stackoverflow.com/questions/59987881
复制相似问题