2016-09-23 2 views
0

EF에서 PowerShell을 통해 마이그레이션을 실행하려고 시도했지만 서클에서 돌아 다니지 않았습니다. 나는 패키지 관리자 콘솔을 사용하여, 비주얼 스튜디오를 통해 실행할 수 있습니다,하지만 난 그게 PowerShell 스크립트를 사용하여 실행할 때 오류 얻을 :EF 마이그레이션 : 파일 또는 어셈블리를로드 할 수 없습니다. EntityFramework, 버전 = 6.0.0.0

migrate.exe : At line:1 char:1 + & "C:\Development\Ef\Tools\migrate.exe" "TestApp.Data.dll" /connect ... + ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ + CategoryInfo : NotSpecified: (:String) [], RemoteException + FullyQualifiedErrorId : NativeCommandError Unhandled Exception: System.IO.FileNotFoundException: Could not load file or assembly 'EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' or one of its dependencies. The system cannot find the file specified. at System.Data.Entity.Migrations.Console.Resources.EntityRes..ctor()
at System.Data.Entity.Migrations.Console.Resources.EntityRes.GetLoader() at System.Data.Entity.Migrations.Console.Resources.EntityRes.GetString(String name, Object[] args) at System.Data.Entity.Migrations.Console.Program.WriteError(String message) at System.Data.Entity.Migrations.Console.Program.Main(String[] args)

(낙지에 의해 생성) 내가 실행 해요 수정 된 스크립트는 다음과 같습니다

& "C:\Development\Ef\Tools\migrate.exe" "TestApp.Data.dll" /connectionProviderName="System.Data.SqlClient" /startupConfigurationFile="C:\Development\FeatureBranch\TestApp\TestApp.Root\TestApp.WebApi\web.config" /startUpDirectory="C:\Development\FeatureBranch\TestApp\TestApp.Root\TestApp.WebApi\bin" /Verbose 

나는이 많이 google'd하고 나는 이것이 일반적인 문제 알고, 그래서 다음과 같은 검사를 수행 한 :

EF 버전이 nuget를 통해 설치는 6.1.3입니다. 이것은 용액에 package.config 파일을 모두에서 동일 예 : 나는 모든 웹 및 응용 프로그램 CONFIGS을 확인하고있다

<package id="EntityFramework" version="6.1.3" targetFramework="net45" />

그들은 모두 일치 :

<section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=6.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" />

이가 보인다 조금 이상하게 들리지만, 이것을 제대로 설정한다고 생각하겠습니까? 어느 쪽이든이 값을 변경해도 아무런 차이가 없습니다.

이전 버전의 ef가 누락되어 있지 않은지 확인했습니다. 내가 사용하고있는 migrate.exe는 nuget이 다운로드 한 패키지 폴더의 버전이며 버전은 6.1.3-40302입니다. 나는 .net 4.5를 실행 중이며 패키지 구성과 일치합니다.

어떤 조언을 주시면 감사하겠습니다. 아마도 제가 분명한 사실을 놓치고있을 것입니다.

+0

6.0.0.0은 올바른 [제품 버전]입니다. (http://stackoverflow.com/questions/32948838/entityframework-package-version-6-1-3-and-web-config-version-6-0- 0-0) Nuget의 EF 6.1.3. –

답변

0

다른 사람이 같은 문제가있는 경우이를 해결할 수있었습니다. Octopus의 스크립트는 훌륭하지 않았으므로 처음부터 썼습니다. 적어도 중요한 문제는 스크립트가 migrate.exe를 TestApp.Data.dll이있는 폴더로 복사하고 거기에서 실행해야한다는 것이 었습니다.