相关疑难解决方法(0)

NuGet包管理器控制台默认项目下拉列表为空

我最近从MSDN升级到Visual Studio 2012 RTM Ultimate.我正在使用EF Code First Migrations在我的应用程序中构建我的数据库,最近我添加了一个新实体,并希望为它进行迁移.

为此,您需要在VS中打开"包管理控制台"窗口,然后键入add-migration "some name here".这将自上次更新以来对数据库进行任何更改.


问题

VS 2012 RC上未发生此问题

我遇到的问题是,尽管我的解决方案中有多个项目,但未填充程序包管理器控制台中的"默认项目"下拉列表.我在上面输入命令时使用的默认项目是错误的项目(我的迁移在另一个项目中).我这样做时收到以下错误:

在程序集"ProjectA"中未找到任何迁移配置类型.(在Visual Studio中,您可以使用程序包管理器控制台中的"启用 - 迁移"命令添加迁移配置).

Visual Studio 2012程序包管理器控制台


我试过的

我已经尝试将正确的项目(ProjectB)设置为启动项目,只是为了得到这个错误:

无法加载程序集"ProjectA".(如果在Visual Studio中使用Code First Migrations,如果解决方案的startUp项目未引用包含迁移的项目,则可能会发生这种情况.您可以更改解决方案的startUp项目或使用-StartUpProjectName参数.)


问题

如何手动指定要添加的项目迁移,或强制"默认项目"下拉列表填充?

nuget ef-migrations entity-framework-5 visual-studio-2012

26
推荐指数
2
解决办法
2万
查看次数

无法创建类型为“ApplicationDbContext”的对象。对于设计时支持的不同模式

在 .net core 中添加数据库迁移时遇到以下错误

这是错误:

这是中的代码Startup

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<ApplicationDbContext>(options => 
    options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));
           
    services.AddDefaultIdentity<ApplicationUser>().AddEntityFrameworkStores<ApplicationDbContext>();
    services.AddControllers();
}
Run Code Online (Sandbox Code Playgroud)

这是ApplicationDbContext课程:

public class ApplicationDbContext : IdentityDbContext
{
    public ApplicationDbContext(DbContextOptions<ApplicationDbContext> options) : base(options)
    { }

    public DbSet<ApplicationUser> applicationUsers { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这是ApplicationUser

public class ApplicationUser : IdentityUser
{
    [Required]
    [Column(TypeName = "nvarchar(150)")]
    public string UserFName { get; set; }
    [Required]
    public string UserLName { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# .net-core asp.net-core .net-core-3.0 .net-core-3.1

22
推荐指数
8
解决办法
2万
查看次数

软件包"Microsoft.EntityFrameworkCore.Design"的用途

所有教程都同意project.json应包括:

"Microsoft.EntityFrameworkCore.Design": 
{ 
    "type":"build", 
    "version":"1.0.0-preview2-final" 
}
Run Code Online (Sandbox Code Playgroud)

我从来没有把它包括在内,从来没有遇到过问题.

我只包括

"Microsoft.EntityFrameworkCore"
"Microsoft.EntityFrameworkCore.Sqlite"   (or Sqlserver)
"Microsoft.EntityFrameworkCore.Tools"
Run Code Online (Sandbox Code Playgroud)

这个包有什么作用?为什么我可以毫无问题地排除它?


更新:查看已接受答案中的注释,以确定在哪种方案中导入哪个包.

c# entity-framework-core .net-core asp.net-core

19
推荐指数
1
解决办法
4437
查看次数

您的启动项目“项目”未引用 Microsoft.EntityFrameworkCore.Design

我正在使用 EntityFrameworkCore 版本 2.2.2 构建 WPF 应用程序

但是,当我想Add-Migration输出错误时...

Your startup project 'project' doesn't reference Microsoft.EntityFrameworkCore.Design. This package is required for the Entity Framework Core Tools to work. Ensure your startup project is correct, install the package, and try again.

我不知道为什么会发生这种情况,因为我可以在出现此错误之前使用它。

这是我的packages.config文件

<?xml version="1.0" encoding="utf-8"?>
<packages>
  <package id="Costura.Fody" version="3.3.2" targetFramework="net461" />
  <package id="Fody" version="4.0.2" targetFramework="net461" developmentDependency="true" />
  <package id="Microsoft.CSharp" version="4.5.0" targetFramework="net461" />
  <package id="Microsoft.Data.Sqlite.Core" version="2.2.2" targetFramework="net461" />
  <package id="Microsoft.DotNet.PlatformAbstractions" version="2.1.0" targetFramework="net461" />
  <package id="Microsoft.EntityFrameworkCore" version="2.2.2" targetFramework="net461" /> …
Run Code Online (Sandbox Code Playgroud)

entity-framework nuget-package

8
推荐指数
2
解决办法
9001
查看次数