У меня есть основной проект .net, в котором есть несколько проектов.
project.api
project.data
мой файл DbContext находится в project.data -> Context
когда я бегу. dotnet ef migrations add InitialCreate -o ../project.data
Я продолжаю получать следующую ошибку
В сборке «project.api» не найден DbContext. Убедитесь, что вы используете правильную сборку и что тип не является ни абстрактным, ни универсальным.
Я попытался добавить -c
dotnet ef migrations add InitialCreate -o ../project.data --context ../project.data.Context.DatabaseContext
Я понимаю, что DbContext не может быть найден в project.data.Context.DatabaseContext
какие-либо предложения ?





Похоже, вы пытаетесь запустить из папки, содержащей проект API, попробуйте указать target project:
--project <PROJECT>-pОтносительный путь к папке проекта целевого проекта. Значение по умолчанию — текущая папка.
dotnet ef migrations add InitialCreate -p ../project.data
Также я пытался использовать --msbuildprojectextensionspath. Я получаю, что индекс находится за пределами массива.
@AliMardini, не могли бы вы опубликовать полный минимальный воспроизводимый пример где-нибудь?
@AliMardini Также убедитесь, что вы используете папку, в которой находится .csproj проекта данных.
Ну, я думаю, что добавлю DbContext в program.cs после
// Add services to the container.
builder.Services.AddControllers();
// Learn more about configuring Swagger/OpenAPI at https://aka.ms/aspnetcore/swashbuckle
builder.Services.AddEndpointsApiExplorer();
builder.Services.AddSwaggerGen();
который предположительно был раньше, и я использовал следующую команду из каталога API
dotnet ef migrations add IntialCreate -p ../project-data/project-data.csproj
Гуру Строн, я сделал, и теперь я получаю эту ошибку. Невозможно получить метаданные проекта. Убедитесь, что это проект в стиле SDK. Если вы используете настраиваемые значения BaseIntermediateOutputPath или MSBuildProjectExtensionsPath, используйте параметр --msbuildprojectextensionspath.