.net core Can';在迁移.net core之后,不要将迁移添加到数据库

.net core Can';在迁移.net core之后,不要将迁移添加到数据库,.net-core,entity-framework-core,.net Core,Entity Framework Core,我正在处理一个项目,该项目是使用project.json文件创建的dotnetcore版本。我能够在VS代码中添加数据库迁移并使用dotnet ef cli命令创建数据库(添加迁移、更新等) 但是,我最近使用dotnetmigrate命令迁移了项目,所以现在我的项目有一个.csproj文件。我需要添加更多的数据库迁移,但当我运行cli命令时,会出现一个错误,说明找不到project.json文件 我已经在网上查看了文档(并在网上搜索了),但我找不到任何东西可以告诉我可能遗漏了什么。FWIW,以下

我正在处理一个项目,该项目是使用project.json文件创建的dotnetcore版本。我能够在VS代码中添加数据库迁移并使用dotnet ef cli命令创建数据库(添加迁移、更新等)

但是,我最近使用dotnetmigrate命令迁移了项目,所以现在我的项目有一个.csproj文件。我需要添加更多的数据库迁移,但当我运行cli命令时,会出现一个错误,说明找不到project.json文件

我已经在网上查看了文档(并在网上搜索了),但我找不到任何东西可以告诉我可能遗漏了什么。FWIW,以下是my.csproj文件中可能的相关包:

  <PackageReference Include="Microsoft.EntityFrameworkCore" Version="1.1.0" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
  <PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="1.1.0" />

    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.1.0-preview4-final" />

如果您不特别需要“dotnet ef”工具,您也可以使用VS Powershell集成版(如果您需要dotnet ef工具,下面的帖子可能会帮助您):

我使用以下包引用:

<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" />

设置了这些引用之后,就可以从PackageManager控制台使用EF工具(添加迁移、更新数据库等)

如果您不特别需要“dotnet ef”工具,您也可以使用VS Powershell集成版(如果您需要dotnet ef工具,下面的steamrolla帖子可能会帮助您):

我使用以下包引用:

<PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="1.1.0" />
<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="1.1.0-preview4-final" />


设置了这些引用之后,就可以从PackageManager控制台使用EF工具(添加迁移、更新数据库等)

针对新的
.csproj
工作方式发布了新版本的工具。您需要将Microsoft.EntityFrameworkCore.Tools.DotNet的版本从
1.1.0-preview4-final
更改为
1.0.0-msbuild3-final


您可以在Nuget上看到不同的最新版本。

新版本的工具是为新的
.csproj
工作方式发布的。您需要将Microsoft.EntityFrameworkCore.Tools.DotNet的版本从
1.1.0-preview4-final
更改为
1.0.0-msbuild3-final


您可以在Nuget上看到不同的最新版本。

DotNetCliToolReference对我来说似乎很好。Microsoft.EntityFrameworkCore.Tools.DotNet和Microsoft.EntityFrameworkCore.Tools之间似乎存在差异。DotNet版本用于“DotNet ef”命令,而不带DotNet的版本用于正常VS集成。见:正确。如果您向下滚动查看
升级工具包
下的内容,他们会将其调出,并说如果您使用的是
dotnet ef
命令,则需要使用
.dotnet
版本。尽管如此,在这个问题上实际上还有另一件事在起作用:新的
.csproj
做事方式。@Fionn我接受了另一个答案,因为它解决了我的问题,但+1也可以作为替代。谢谢
DotNetCliToolReference
对我来说似乎很好。Microsoft.EntityFrameworkCore.Tools.DotNet和Microsoft.EntityFrameworkCore.Tools之间似乎存在差异。DotNet版本用于“DotNet ef”命令,而不带DotNet的版本用于正常VS集成。见:正确。如果您向下滚动查看
升级工具包
下的内容,他们会将其调出,并说如果您使用的是
dotnet ef
命令,则需要使用
.dotnet
版本。尽管如此,在这个问题上实际上还有另一件事在起作用:新的
.csproj
做事方式。@Fionn我接受了另一个答案,因为它解决了我的问题,但+1也可以作为替代。谢谢更改依赖项并执行还原时,收到以下警告:指定的依赖项为Microsoft.EntityFrameworkCore.Tools.DotNet(>=1.1.0-msbuild3-final),但最终为Microsoft.EntityFrameworkCore.Tools.DotNet 1.1.0-preview4-final。哦,我发现她在哪里提到了和你一样的东西。版本实际上是
1.0.0-msbuild3-final
,而不是
1.1.0-msbuild3-final
。更新它,您就可以开始了-我一开始发布不正确,现在更新=D。当我更改依赖项并执行还原时,我收到以下警告:指定的依赖项是Microsoft.EntityFrameworkCore.Tools.DotNet(>=1.1.0-msbuild3-final),但最终是Microsoft.EntityFrameworkCore.Tools.DotNet 1.1.0-preview4-final。哦,我发现她在哪里提到了和你一样的东西。版本实际上是
1.0.0-msbuild3-final
,而不是
1.1.0-msbuild3-final
。更新这个,你应该很好去-我发布了错误的第一,现在更新=D。