我使用.NET命令创建了一个新的dotnet new -t lib核心项目。它是我的EF上下文的类库。这是我的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代码首先与网络标准1.6?
发布于 2016-07-15 10:30:47
根据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的一些依赖项仍然不支持.NETStandard,但在您的示例中,我检查了它,即使没有导入,它也能工作。
关于Johan的注释,其中声明当前不能与类库一起使用ef工具,部分是通过使用--startup-project解决方案来解决的,例如:dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations add InitDb,更多信息:Parameterize directories used by dotnet-ef.
https://stackoverflow.com/questions/38381856
复制相似问题