EF 7 .NET Core 工具错误
EF 7 .NET Core tools error
我使用 dotnet new -t lib
命令创建了一个新的 .NET Core 项目。它是我的 EF 上下文的 class 库。这是我的 project.json
:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {},
"frameworks": {
"netstandard1.6": {
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
}
}
当我使用 运行 dotnet restore
命令时,我收到了这个错误:
error: Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final is not compatible with netstandard1.6 (.NETStandard,Version=v1.6). Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final supports:
如何将 EF Code First 与 netstandard1.6 一起使用?
根据 this,"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
应该在 project.json 的工具部分中注册:
{
"version": "1.0.0-*",
"description": "Class Library",
"frameworks": {
"netstandard1.6": {
"imports": [
"dnxcore50"
]
}
},
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
此外,使用 imports 也是一个好主意,因为一些 EF Core 的依赖项仍然不支持 .NETStandard,但在你的情况下,我检查过,即使没有导入它也能工作。
关于 Johan B 的评论,其中指出 ef 工具目前不能与 class 库一起使用,它已通过使用 --startup-project
解决方法部分解决,例如:dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations add InitDb
,更多信息:Parameterize directories used by dotnet-ef.
我使用 dotnet new -t lib
命令创建了一个新的 .NET Core 项目。它是我的 EF 上下文的 class 库。这是我的 project.json
:
{
"version": "1.0.0-*",
"buildOptions": {
"debugType": "portable"
},
"dependencies": {},
"frameworks": {
"netstandard1.6": {
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
}
}
当我使用 运行 dotnet restore
命令时,我收到了这个错误:
error: Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final is not compatible with netstandard1.6 (.NETStandard,Version=v1.6). Package Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final supports:
如何将 EF Code First 与 netstandard1.6 一起使用?
根据 this,"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
应该在 project.json 的工具部分中注册:
{
"version": "1.0.0-*",
"description": "Class Library",
"frameworks": {
"netstandard1.6": {
"imports": [
"dnxcore50"
]
}
},
"dependencies": {
"NETStandard.Library": "1.6.0",
"Microsoft.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.0"
},
"tools": {
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
}
}
此外,使用 imports 也是一个好主意,因为一些 EF Core 的依赖项仍然不支持 .NETStandard,但在你的情况下,我检查过,即使没有导入它也能工作。
关于 Johan B 的评论,其中指出 ef 工具目前不能与 class 库一起使用,它已通过使用 --startup-project
解决方法部分解决,例如:dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations add InitDb
,更多信息:Parameterize directories used by dotnet-ef.