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

时间:2016-06-27 10:18:15

标签: c# asp.net entity-framework asp.net-core solution

我正在努力实施 this "hello world" example 使用asp.net Entity framework核心。

在做完这个例子后,我尝试将它拆分为2个项目。一个用于模型,另一个用于API。

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

尝试构建时 - 我收到错误

  

程序不包含适用于条目的静态Main方法   点实体

我尝试寻找有关使用多个项目的文档,但没有找到。也许我不懂专业术语。

如何在没有main方法的情况下添加项目?

10倍!

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

  

在BloggingContext上找不到无参数构造函数

。将无参数构造函数添加到BloggingContext或在与IDbContextFactory<BloggingContext>相同的程序集中添加BloggingContext的实现。“

我该怎么办?

再次感谢。

3 个答案:

答案 0 :(得分:5)

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

您仍然可以通过更改项目属性(右键单击项目&gt;属性)并将输出类型更改为类库来将第二个项目更改为独立

无参数构造函数问题听起来无关紧要。您可能已添加带有参数的构造函数,或者从没有无参数构造函数的类继承,这需要您向基础构造函数提供值。

答案 1 :(得分:3)

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

  1. 右键点击解决方案
  2. 添加 - &gt;新项目
  3. 选择“类库”并输入一个好名称,然后单击“确定”按钮。
  4. 在主项目中添加该类库项目的引用
  5. 见下图:

    Create Class Library

答案 2 :(得分:0)

我无法对您的第一个错误发表评论,但忘记在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引用该错误,并建议使用IDbContextFactory