2017-02-14 5 views
0

У меня возникла проблема с выполнением миграции в моем текущем проекте.Ошибка структуры Entity Framework при выполнении миграции

Все началось, когда я попытался добавить перенос с помощью консоли диспетчера пакетов в Visual Studio 2015. Изменения, внесенные в Модели, не будут применяться, а методы переноса вверх/вниз будут пустыми.

Я попытался удалить миграции, создав новые, удалив базу данных и начиная с нуля. Ничего не получилось.

В конце концов я бегу полная Clean в проекте с использованием

Main Menu > Build > Batch Build > Clean

После этого каждый раз, когда я пытаюсь запустить команду EF на пакет Управление консоли как:

PM> Update-Database

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

Could not find assembly 'D:\Repo\Tapr\src\Tapr.Api.\bin\Debug\net461\win7-x64\Tapr.Api.exe'.

Я не использовал, чтобы настроить время выполнения win7-64 на моем project.json.
Я пробовал это сделать, и папка \bin\Debug\net461\win7-x64 не создается.

Любые идеи о том, как сделать проект EF в нужном направлении win10-x64 папка?

Большое спасибо!


Обновление:

global.json

{ 
    "projects": [ "src", "test" ], 
    "sdk": { 
    "version": "1.0.0-preview2-003156" 
    } 
} 

project.json

{ 
    "buildOptions": { 
    "emitEntryPoint": true, 
    "preserveCompilationContext": true, 
    "compile": { 
    } 
    }, 
    "dependencies": { 
    "IdentityServer4": "1.0.0", 
    "IdentityServer4.AspNetIdentity": "1.0.0", 
    "IdentityServer4.EntityFramework": "1.0.0", 
    "Microsoft.AspNetCore.Authentication.Cookies": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.Facebook": "1.1.*", 
    "Microsoft.AspNetCore.Authentication.Google": "1.1.*", 
    "Microsoft.AspNetCore.Authentication.LinkedIn": "1.0.1", 
    "Microsoft.AspNetCore.Authentication.MicrosoftAccount": "1.1.0", 
    "Microsoft.AspNetCore.Authentication.Twitter": "1.1.*", 
    "Microsoft.AspNetCore.Diagnostics": "1.1.0", 
    "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.1.0", 
    "Microsoft.AspNetCore.Mvc": "1.1.*", 
    "Microsoft.AspNetCore.Server.IISIntegration": "1.1.*", 
    "Microsoft.AspNetCore.Server.Kestrel": "1.1.*", 
    "Microsoft.AspNetCore.StaticFiles": "1.1.*", 
    "Microsoft.EntityFrameworkCore": "1.1.0", 
    "Microsoft.EntityFrameworkCore.Design": "1.1.0", 
    "Microsoft.EntityFrameworkCore.SqlServer": "1.1.*", 
    "Microsoft.Extensions.Configuration.Json": "1.1.0", 
    "Microsoft.Extensions.Logging.Console": "1.1.*", 
    "Microsoft.Extensions.Logging.Debug": "1.1.*", 
    "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.1.0", 
    "System.Linq": "4.0.0", 
    "System.Reflection.TypeExtensions": "4.3.0" 
    }, 

    "tools": { 
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.1.0-preview4-final", 
    "Microsoft.EntityFrameworkCore.Tools": "1.2.0-preview1-23339", 
    "Microsoft.EntityFrameworkCore.Tools.DotNet": "1.2.0-preview1-23339" 
    }, 

    "frameworks": { 
    "net461": { 
     "dependencies": { 
     "Tapr.Utils.Messenger.Email": "1.0.0-*", 
     "Tapr.Utils.Messenger.Sms": "1.0.0-*" 
     } 
    } 
    }, 

    "runtimeOptions": { 
    "gcServer": true 
    }, 

    "runtimes": { 
    "win10-x64": {} 
    }, 

    "publishOptions": { 
    "include": [ 
     "wwwroot", 
     "**/*.cshtml", 
     "appsettings.json", 
     "web.config", 
     "idsrv3test.pfx" 
    ] 
    }, 

    "scripts": { 
    "postpublish": [ 
     "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" 
    ] 
    }, 

    "configurations": { 
    "Debug": { 
     "buildOptions": { 
     "define": [ "DEBUG", "TRACE" ], 
     "emitEntryPoint": true, 
     "preserveCompilationContext": true 
     } 
    }, 
    "Staging": { 
     "buildOptions": { 
     "define": [ "STAGING", "TRACE" ], 
     "emitEntryPoint": true, 
     "preserveCompilationContext": true 
     } 
    }, 
    "Release": { 
     "buildOptions": { 
     "define": [ "RELEASE", "TRACE" ], 
     "emitEntryPoint": true, 
     "preserveCompilationContext": true, 
     "optimize": true, 
     "platform": "x64" 
     } 
    } 
    } 

} 

результаты PM> DotNet --version в:

1.0.0-preview2-003156

+0

Пожалуйста, покажите свои файлы 'global.json' и' project.json', вывод 'dotnet -version' (запуск в консоли). – Dmitry

+0

Привет, Дмитрий, спасибо за ответ. – TaprDeveloper

+0

Я обновил вопрос с информацией, которую вы задали. Благодарю. – TaprDeveloper

ответ

0

Удалить runtimes раздел с project.json полностью. Вы используете предварительную версию инструментария - возможны ошибки или «незавершенные» функции.

Вы можете вернуть runtimes назад после создания миграции, если это действительно необходимо. Но переоцените, вам это действительно нужно? Имея runtimes, вы создаете автономное развертывание (more info), где вам не нужен .NET Core, установленный на рабочем сервере, но вместо этого у вас должно быть точное время выполнения на вашем компьютере dev/build, чтобы поместить все необходимые файлы в папку распространения/публикации.

+0

Еще раз спасибо! – TaprDeveloper