我应该如何在没有主要方法的情况下添加项目?

how should i add projects without main method?

我正在尝试实施 this "hello world" example asp.net 核心 Entity framework.

完成示例后,我尝试将其拆分为 2 个项目。一个用于模型,另一个用于 API.

我在同一个解决方案中创建了 2 个项目,从第二个项目中删除了 startup.csprogram.cs。第二个添加模型,第一个注册模型

尝试构建时出现错误

Program does not contain a static Main method suitable for an entry point entities

我尝试查找有关处理多个项目的文档,但没有找到。专业术语可能是我不懂

没有main方法应该如何添加项目?

10 倍!

我再次尝试使用 startup.csprogram.cs 的 2 个项目,然后构建成功,但是在 nuget 控制台上尝试 运行 时:"Add-Migration MyFirstMigration",我得到

No parameterless constructor was found on BloggingContext

。将无参数构造函数添加到 BloggingContext 或在与 BloggingContext."

相同的程序集中添加 IDbContextFactory<BloggingContext> 的实现

我该怎么办?

再次感谢。

您的解决方案中应该只有一个启动项目。如果要为模型创建项目,请创建 class library 而不是 console/web/window 应用程序。

  1. 右键单击您的解决方案
  2. 添加 -> 新建项目
  3. Select Class 库并给个好听的名字然后点击确定按钮。
  4. 在你的主项目中添加那个class库项目的引用

见下图:

听起来您将第二个项目添加为控制台项目,而不是 class 库。如果您不希望它成为独立的可执行文件,您应该使用它。

您仍然可以将第二个项目更改为非独立项目,方法是更改​​项目属性(右键单击项目 > 属性),并将输出类型更改为 class图书馆。

无参数构造函数问题听起来无关紧要。您可能已经添加了一个带有参数的构造函数,或者正在从一个没有无参数构造函数的 class 继承,这需要您向基本构造函数提供值。

我无法评论你的第一个错误,但我遇到了你的 第二个 错误,因为我忘记在 Startup.cs:

中添加我的数据库上下文

public void ConfigureServices(IServiceCollection services) { var connection = @"Server=(localdb)\mssqllocaldb;Database=EFGetStarted.AspNetCore.NewDb;Trusted_Connection=True;"; services.AddDbContext<BloggingContext>(options => options.UseSqlServer(connection)); }

或者,these docs refer to that error and advise using a IDbContextFactory