ASP.NET核心项目 - 发布不显示“数据库迁移”选项

问题描述:

我的项目曾经完全适用于.NET Core 1.0,但移植到1.1会让我头痛!我一直在使用Microsoft Azure进行发布,并没有太多问题。ASP.NET核心项目 - 发布不显示“数据库迁移”选项

我想我只是在数据库迁移。我一直在使用迁移,但是当我发布时,我没有选择'在发布上应用此迁移'。

我有第二个项目工作得很好。当我打开发布屏幕时,图标旋转说'发现数据上下文...',然后更改为'实体框架迁移'。

但是对于我的生活,我无法得到它与我的主要项目工作!

什么可以防止'Entity Framework Migrations'在发布时出现?

我做附加迁移初始化更新数据库和那些工作完全在本地,而不是试图发布

我ApplicationDbContext.cs时只是默认,并与工作其他项目。

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

DOTNET --info

.NET Command Line Tools (1.0.0-preview2-1-003177) 

当我在本地运行,我可以删除SQL数据库和迁移把它回来时,我开始。所以我知道迁移工作正常。我无法在发布期间显示选项。

谢谢!

我正好碰到这个问题,“情迷数据上下文...”微调跑了一下,然后我没有得到'Entity Framework Migrations'选项。

什么固定它,我被重建如下发布配置:

从发布屏幕按创建新的配置文件链接: Publish to Azure screen

,然后更改到选择现有选项:

Publish Select Existing

然后拿起您现有的应用程序服务

enter image description here

一旦我做到了,在“实体框架迁移”部分出现了预期中的发布工具的设置。

有关信息,重新创建发布文件似乎没有对.pubmxl文件做任何重大更改。唯一的变化是resourcegroups<ResourceId>设置中更改为resourceGroups,而<PublishFramework />更改为<PublishFramework></PublishFramework>。这两者似乎都不是问题的原因。

我遇到了同样的问题。不幸的是,我没有回答还有

我没有一个明确的答案,但我知道它是vs2017 RC一个已知的问题现在:https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md#migrations-not-applied-during-publish

它说手动应用这些迁移,但因为我使用的是新的项目类型,我无法访问dotnet ef命令行工具。

如果你有可用于你的项目的命令行工具(你仍然使用project.json等),那么我认为有一个-script选项,它允许你输出一个用于你的迁移的脚本,你可以然后在服务器上手动运行。

我已经提高了对efcore github上这里的一个问题:https://github.com/aspnet/EntityFramework/issues/7276

+0

我最终只需创建一个新项目,并将所有代码复制到它。感谢您的回复和更新! –

+0

没问题。 我通过使用包管理器控制台中的'Script-Migration'工具来运行我的工作,使用'-Idempotent'标志生成所有我的迁移的SQL脚本,然后在Azure上对我的服务器运行该sql。 – Banashek