2016-11-25 1 views
2

Я использую ядро ​​ядра .net core и entity framework 1.1.0. при попытке следующую команду в Package Manager ConsoleScaffold-DbContext вызывает ошибку «Не удалось найти сборку» в ядре .net

Scaffold-DbContext "Server=MyServer\\MyInstance;Database=MyDB;user=MyUsername;password=MyDbPassword;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -t Table1,Table2 

Я получаю эту ошибку

Не удалось найти сборку «D: \ Work \ Projects \ SRC \ MyProject \ SRC \ MyProject. Апи. \ Bin \ Debug \ net461 \ win7-x64 \ MyProject.Data.exe.

MyProject.Data - это чистая библиотека ядра. MyProject.Api - это .net full framework core api, который ссылается на MyProject.Data.

project.json файл MyProject.Data

{ 
    "version": "1.0.0-*", 

    "dependencies": { 
    "Microsoft.EntityFrameworkCore.Design": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer.Design": "1.1.0", 
    "Microsoft.EntityFrameworkCore.Tools": "1.1.0-preview4-final" 
    }, 

    "frameworks": { 
    "net461": {} 
    } 
} 

Любые советы для меня?

+0

Вы можете попробовать использовать инструменты .NET командной строки: 'DotNet эф DbContext эшафот ...' – bricelam

ответ

2

Не уверен, что это ошибка, но команда scaffold-dbcontext ищет сборку в стартовый проект.

Есть два способа решения этой проблемы

  1. правой кнопкой мыши на проекте вы намерены выполнить эту команду на (в вашем случае, это MyProject.Data) и выберите Установить в качестве проекта запуска.
  2. Вы можете добавить переключатель в команду scaffold-DBContext, чтобы указать конкретный проект как проект запуска во время выполнения команды. Это то, что вам нужно добавить в конце команды.

    -StartupProject MyProject.Data

Смежные вопросы