当我创建脚手架并添加模型类时,我收到这些错误"运行所选生成器时出错。尝试重建项目"
我有三个模型类:
1.部门.CS
2.指定.cs
3.公司数据库文本.cs
数据库:我在数据库中有两个表,1.部门(部门ID,部门名称,描述) 2. 名称(名称,名称,描述)
目标 :- 我想为这些场景创建一个视图页面。喜欢这个
插入表单名称(文本框)+部门名称(下拉列表框)+职位名称(下拉列表框)
1.部门.CS
namespace mvcAppraisalSystem.Models
{
public class Department
{
[Key]
public int deptID { get; set; }
public string deptName { get; set; }
public string Description { get; set; }
}
}
2.指定.cs
namespace mvcAppraisalSystem.Models
{
public class Designation
{
[Key]
public int desgID { get; set; }
public string desgName { get; set; }
public string description { get; set; }
}
}
3.公司数据库文本.cs
namespace mvcAppraisalSystem.Models
{
public class CompanyDBContext : DbContext
{
public DbSet<CompanyDBContext> Departments { get; set; }
public DbSet<CompanyDBContext> Designations { get; set; }
}
}
这是连接字符串的问题,您可以使用DbContext
名称更改连接字符串,如文件 web.config 上的下面所示:
<connectionStrings>
<add name="MovieDBContext" connectionString="Data Source=(LocalDb)v11.0;AttachDbFilename=|DataDirectory|aspnet-MVCmove-20140616082808.mdf;Initial Catalog=aspnet-MVCmove-20140616082808;Integrated Security=True" providerName="System.Data.SqlClient" />
</connectionStrings>
对于班级:
using System;
using System.Data.Entity;
namespace MVCmove.Models
{
public class Movie
{
public int ID { get; set; }
public string Title { get; set; }
public DateTime ReleaseDate { get; set; }
public string Default1Genre { get; set; }
public decimal Price { get; set; }
}
public class MovieDBContext : DbContext
{
public DbSet<Movie> Movies { get; set; }
}
}
我在尝试使用数据库优先 EF 在新创建的项目上构建我的第一个基架项目时遇到此错误。
添加新的实体数据模型后生成项目非常重要。 显然,有必要初始化/配置项目的各个方面。
我之前在数据库第一个教程中读过这个,但忘记了它。 最终,在挖掘了相关的SO问题(包括这个问题)后,我想起了它。
我按照他们在错误中的建议构建了项目:"尝试重建项目"。然后我又试了一次。错误消失了。就我而言,创建新项目不起作用。运行构建确实如此。
通过关闭并重新打开Visual Studio在VS 2019中修复了我的问题。
希望这对某人有所帮助。我尝试了SO中的一些建议,但就我而言,这是另一回事。我忘记了我创建了一个分部类,我在其中保存了我的数据注释,该注释具有我从模型/数据库中删除的属性。因此,在我从数据库中更新模型后,项目编译良好,我没有注意到任何问题。但是,后来当我尝试使用基架创建控制器时,EF 开始抛出"运行所选生成器时出错。尝试重建项目"。在我记住并从分部类中删除该属性后,我终于能够解决问题。
我重命名了模型,然后再次尝试添加控制器,然后将模型重命名为名字。之后,控制器的创建成功。
>我在VS2017上也遇到了同样的错误。
我的解决方案是卸载我的项目,然后编辑csproj文件并查找对System.Web.MVC的引用并将其删除,然后保存并重新加载项目。然后我去管理 NuGet 包,然后你可以重新安装Microsoft.AspNet.Mvc 包。
清理并重建了解决方案,并尝试再次添加控制器,它起作用了!!
不知道是否有其他人遇到过这个问题,但重新启动Visual Studio在VS2017中为我消除了错误。
这解决了我的问题
如果使用的是 Visual Studio,请按照错误窗口中的建议重新生成项目。要重建,请执行以下操作:
- 在"解决方案资源管理器"中右键单击项目名称。
- 单击"重新生成"选项(位于 Visual Studio 2017 中下拉列表的第二个数字上)
如果不知道如何打开解决方案资源管理器,请执行以下操作:
从顶部菜单中选择"查看",单击选项:解决方案资源管理器。