Tôi đã tạo một dự án .NET Core mới với lệnh dotnet new -t lib
. Đó là một thư viện lớp cho Ngữ cảnh EF của tôi. Đây là tôi project.json
:EF 7 Lỗi công cụ lõi .NET
{
"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"
}
}
}
}
Khi tôi chạy dotnet restore
lệnh tôi nhận được lỗi này:
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:
Làm thế nào tôi có thể sử dụng EF Mã đầu tiên với netstandard1.6?
Cẩn thận rằng việc sử dụng các dụng cụ cho Enity Framework không hỗ trợ libaries lớp Vì vậy, làm 'dotnet ef' sẽ thất bại. Xem https://docs.efproject.net/en/latest/miscellaneous/cli/dotnet.html#targeting-class-library-projects-is-not-supported để giải quyết. –
@JohanB Một phần được giải quyết bằng cách sử dụng giải pháp '--startup-project', ví dụ:' dotnet ef --startup-project ../ProjectThatCanRunCommand/ migrations thêm InitDb', hãy xem xét điều này: [Parameterize directories used by dotnet-ef] (https://github.com/aspnet/EntityFramework/pull/5680) –
@HamidMosalla Đây là một giải pháp mà tôi đang tìm kiếm. Bạn có thể cập nhật câu trả lời của bạn với nhận xét này để tôi có thể đánh dấu câu trả lời đó là câu trả lời đúng không? – alexxjk