【发布时间】:2017-08-16 22:24:21
【问题描述】:
我正在使用 Visual Studio 2015 和 dotnet core 并尝试使用 Sqlite 开发 EF Core Code First 项目 和本文档/教程,它也使用 Sqlite => NET Core - New Database
当我尝试通过发出以下命令从命令行添加初始迁移(我被 CD 编辑到我的数据模型项目所在的文件夹中)
dotnet ef migrations add InitialMigration
...我收到以下错误。
没有找到项目。更改当前工作目录或使用 --project 选项。
我什至尝试过像这样使用--project 选项。
> dotnet --project "C:\Shiva\EF\EFCFSqlite.Data.xproj" ef migrations add InitialMigration
但这会产生以下错误。
Unknown option: --project
.NET Command Line Tools (1.0.0-preview2-003131)
Usage: dotnet [host-options] [command] [arguments] [common-options]
我注意到文档使用的是.csproj 文件,而我的项目显示的是xproj 文件。文档还提到了一些关于不再使用project.json 的内容:(
这是我的project.json 文件。
{
"version": "1.0.0-*",
"dependencies": {
"Microsoft.EntityFrameworkCore.Sqlite": "1.1.1",
"Microsoft.EntityFrameworkCore.Sqlite.Design": "1.1.1",
"NETStandard.Library": "1.6.1"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools.DotNet":"1.0.0"
},
"frameworks": {
"netstandard1.6": {
"imports": "dnxcore50"
}
}
发生了什么变化?我们是否别无选择,只能安装 Visual Studio 2017 并从头开始? project.json 和其他所有东西都不再受尊重了吗?
如果是这样的话,对我来说似乎是一个巨大的变化:(
【问题讨论】:
-
我不知道你的问题,但我会指出 --project 是在错误的位置。
dotnet ef与dotnet不同,这是需要 --proj 的命令。此外,如果您使用的是最新工具,则需要从 project.json 迁移到 .csproj 格式。如果您安装 Visual Studio 2017,这将破坏 VS 2015 提供的预览工具,因此只有在项目中的每个人都准备好切换时才安装它。 -
谢谢埃里克。是否可以从
project.json迁移到.csproj而无需升级到 Visual Studio 2017?还是我必须绝对同时进行项目升级和 VS 升级才能使其正常工作? -
除非您打算使用支持它的 IDE,否则我不会迁移到 .csproj。在下面查看 Gys 的答案。仍应为 project.json 配置设置预览工具。一般来说,您希望保留预览版以支持 project.json 的工具,但您应该能够使用最新版本的其他库。
-
"我们是否别无选择,只能安装 Visual Studio 2017 并从头开始??"可悲的是,最终,yes.
标签: ef-code-first .net-core entity-framework-core entity-framework-migrations dotnet-cli