Entity Framework Core 1.0.1 миграция ищет скомпилированную dll вместо exe

#entity-framework-core

#entity-framework-core

Вопрос:

У меня есть entity framework core библиотека классов

В project.json ранее добавленном мной

 "buildOptions": {
    "emitEntryPoint": true,
    "copyToOutput": {
      "include": [ "appsettings.json" ]
    }
  },
  

поскольку мне нужно запускать миграции в библиотеке классов, мне пришлось приспособиться project.json к этому, чтобы это работало ( 1.0.0 ), поскольку ef core не поддерживает выполнение миграций в библиотеке классов. Ссылка

Все это работало в прошлом в моем проекте, но внезапно сегодня я получаю следующую ошибку, когда хочу добавить новую миграцию

 Add-Migration MyNewMigration
  

и я получаю

 Could not find assembly '.binMySolutionbinDebugnet452win7-x64MyEFProject.dll'.
  

Когда я смотрю на этот каталог, он создает exe вместо a dll , я предполагаю, что из "emitEntryPoint": true, -за того, что при компиляции он не должен выдавать мне ошибку отсутствия dll. Мне пришлось добавить это, поскольку это была известная проблема, чтобы заставить миграции EF работать с библиотеками классов

Единственное изменение, которое я помню, заключалось в переходе на Entity Framework Core 1.0.1 from 1.0.0 и обновлении до Visual Studio 2015 Update 3

 "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
"Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
"Microsoft.EntityFrameworkCore.SqlServer": "1.0.1",
"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0",
  

Я вернул ее "1.0.0" и перестроил проект, но я все равно получаю ту же ошибку

Почему, когда он работал раньше, он больше не работает?

Ответ №1:

Я установил значение emitEntryPoint для false перекомпиляции, и вместо этого он создал a dll .

При последующем запуске миграции я получил сообщение об ошибке доступа к пути ‘C:Code..ClassLibraryProjectMigrationsMyDbContextModelSnapshot.cs «отказано.

Мне пришлось предоставить Users права на изменение этого файла, чтобы решить эту проблему.

После этого команды Add_Migrations создали миграцию и Update-Database обновили базу данных