在发布时应用EF迁移仅适用于某些Web项目

ibe*_*dev 5 publish ef-migrations entity-framework-core visual-studio-2015 asp.net-core

我有几个使用Asp.Net Core 1.0和Entity Framework Core 1.1.0的项目

我有一个代码第一个迁移方法,我通过Visual Studio 2015发布到Azure.

我以前在Azure Sql Server中应用迁移的方法是在发布上启用一个复选框:"实体框架迁移 - 在发布时应用此迁移",我在其中输入连接字符串.

我更新了几个软件包,现在对于我的一个项目,我没有看到此选项在发布时应用迁移.我可以看到它试图发现数据上下文,但它没有找到任何东西(虽然它在同一个项目中...)

见下文:

  • 我可以在发布时在Azure上应用迁移的项目: 应用可用的迁移

  • 在发布时在Azure上应用迁移的选项的项目已消失: 应用不可用的迁移

我怀疑它与项目的某些依赖版本有关,而不是与我的IDE有关,因为我对两个项目都使用相同的Visual Studio(2015更新3).

我找不到有关此信息.什么依赖允许这个选项?如果我发现哪个版本存在问题,那么剩下的问题是如何在发布时应用迁移?

这两个项目都在Web项目中进行迁移,两个项目都在使用 "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0"

更新1:我设法找到了涉及的内容.似乎如果我使用这些依赖项:

"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final"
Run Code Online (Sandbox Code Playgroud)

Visual Studio能够查找数据上下文,并提供在发布时应用迁移的选项.但是,如果我使用这些依赖项的较新版本,例如:

"Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final",
"Microsoft.EntityFrameworkCore.Design": "1.1.0"
Run Code Online (Sandbox Code Playgroud)

然后,应用迁移的选项消失了,VS在发布时无法找到任何数据上下文.

我需要了解迁移事物和Asp.Net Core的最新状态.

Ale*_*xei 3

创建空的 ASP.NET Core Web API 项目并添加迁移后,我在 Visual Studio 2017 中偶然发现了一个非常类似的问题(发布无法在要发布的项目中查找数据上下文)。

为了使其正常工作,我在 .csproj 文件中包含了以下几行:

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />

<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.1" />
Run Code Online (Sandbox Code Playgroud)