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

问题描述 投票:0回答:3

我的项目曾经在 .NET Core 1.0 上完美运行,但迁移到 1.1 让我头疼了好几天! 我一直在使用 Microsoft Azure 进行发布,并且没有遇到太多问题。

我想我只剩下数据库迁移了。 我已经使用迁移有一段时间了,但是当我发布时,我没有选择“在发布时应用此迁移”。

我有第二个项目,运行得很好。 当我打开发布屏幕时,一个图标会旋转,显示“发现数据上下文...”,然后更改为“实体框架迁移”。

但是对于我的生活来说,我无法让它与我的主要项目一起工作!!

什么可能会阻止发布时出现“实体框架迁移”?

我已经完成了add-migration Initupdate-database,这些在本地工作得很好,但在尝试发布时却不行

我的ApplicationDbContext.cs只是默认值,可以与其他项目一起使用。

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

dotnet --信息

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

当我在本地运行时,我可以删除 SQL 数据库,迁移会在我启动时将其放回原处。 所以我知道迁移工作正常。 我只是无法选择在发布期间显示。

谢谢!!

c# azure entity-framework asp.net-core-mvc
3个回答
2
投票

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

我没有具体的答案,但我知道这是 vs2017 RC 的一个已知问题:https://github.com/aspnet/Tooling/blob/master/known-issues-vs2017.md#migrations -发布期间未应用

它说要手动应用这些迁移,但由于我使用的是新的项目类型,因此我无法访问

dotnet ef
命令行工具。

如果您的项目有可用的命令行工具(您仍在使用project.json等),那么我相信有一个

-script
选项允许您输出迁移脚本,然后您可以在服务器上手动运行。

我在 efcore github 上提出了一个问题:https://github.com/aspnet/EntityFramework/issues/7276


1
投票

我刚刚遇到这个问题,“发现数据上下文...”旋转器运行了一段时间,然后我根本没有得到“实体框架迁移”选项。 为我解决的问题是重新创建发布配置文件,如下所示: 在“发布”屏幕中按“创建新个人资料”链接:

然后更改为“选择现有”选项:Publish to Azure screen

然后选择您现有的应用程序服务 Publish Select Existing

完成此操作后,enter image description here“实体框架迁移”部分将按预期显示在发布工具的设置中。

仅供参考,重新创建发布文件似乎并未对 .pubmxl 文件进行任何重大更改。 唯一的变化是 resourcegroups 设置中的

resourceGroups

更改为

<ResourceId>
,以及
<PublishFramework />
更改为
<PublishFramework></PublishFramework>
。 这些似乎都不是问题的原因。
    
我遇到了类似的问题,并通过将发布方法从 

ZipDeploy

0
投票
MSDeploy

来修复它。但我仍然不知道是什么原因导致了这个问题。

© www.soinside.com 2019 - 2024. All rights reserved.