ASP.NET 5 EntityFramework.Core 7.0.0-rc1-final issue - 컴파일러에서 찾을 수없는 7.0.0.0을 참조하려고합니다.

asp.net asp.net-core c# dnu entity-framework-core

문제

나는 같은 문제를 겪고있다. 내 project.json 파일에 다음 종속성을 추가했습니다.

"dependencies": {
    "EntityFramework": "7.0.0-beta4",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.SqlServer": "7.0.0-beta8",
    "EntityFramework.Commands": "7.0.0-rc1-final"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },
...

나는 dnu install EntityFramework 사용 dnu install EntityFramework.SqlServer 를 설치하고 dnu install EntityFramework.SqlServer 를 설치하여 패키지를 설치합니다. "EntityFramework": "7.0.0-beta4", 는 설치 프로그램 자체에서 dependencies 노드 아래에 자동으로 작성되었습니다.

Issue / Question 1 : 내가 EntityFramework 에 대한 EntityFramework 가져 왔을 때 놀랍게도, 내가 발표 할 수있는 버전은 6.1.3 에 불과합니다!

문제 2 : dnu build 사용하여 응용 프로그램을 컴파일 할 때 ( dependencies 노드에서 수동으로 .Core.Commands ) EntityFramework 어셈블리를 추가 한 후 dnu restore 명령을 실행하면 컴파일 오류가 발생합니다.

"dependencies": {
    "EntityFramework": "7.0.0-beta4",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.SqlServer": "7.0.0-beta8",
    "EntityFramework.Commands": "7.0.0-rc1-final"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },
...

.Core.Commands 어셈블리 참조를 제거하면 프로젝트가 잘 빌드됩니다.

그런 다음 오류에서 언급 한대로 EntityFramework.Core 의 버전을 7.0.0.0 으로 변경했습니다.

"dependencies": {
    "EntityFramework": "7.0.0-beta4",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.SqlServer": "7.0.0-beta8",
    "EntityFramework.Commands": "7.0.0-rc1-final"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },
...

하지만 이제 dnu restore 통해 다음과 같은 결과를 얻었습니다.

"dependencies": {
    "EntityFramework": "7.0.0-beta4",
    "EntityFramework.Core": "7.0.0-rc1-final",
    "EntityFramework.SqlServer": "7.0.0-beta8",
    "EntityFramework.Commands": "7.0.0-rc1-final"
  },
  "commands": {
    "web": "Microsoft.AspNet.Server.Kestrel",
    "ef": "EntityFramework.Commands"
  },
...

나는 asp.net 5 Visual Studio code 플랫폼의 초보자입니다. 개발팀의 다른 구성원이 OSX를 사용하고 있기 때문에 Visual Studio 2015 를 사용할 수 없습니다.

이것은 나를위한 학습 프로젝트입니다. 요구 사항은 매우 간단합니다. SQL Server 데이터베이스를 연결하고 Entity Framework를 사용하여 master-child 관계형 데이터를 가져옵니다.

망했다! 도움!!

미리 감사드립니다.

최신 정보

  1. 버전 7.0.0-rc1-final 가진 모든 패키지에 대한 project.json 의 주요 변경 사항을 확인할 수 있습니다. Yeoman 생성기 도구를 사용하여 프로젝트를 만들었지 만 Visual Studio 통해 패키지를 수정 한 것처럼 보입니다. 그렇다면 수동으로 패키지 버전을 업데이트하고 restore 해야합니까?

  2. 프로젝트가 Yeoman에 의해 생성 / 생성되었을 때 기본적으로 global.json 파일이 추가되지 않았습니다. 이 코드를 수동으로 추가하고 코드를 직접 넣을 수 있습니까? 이게 효과가 있니?

  3. Yeoman 생성기에서 기본적으로 추가하지 않은 project.json 파일에 추가 패키지 참조가 추가 된 것을 볼 수 있습니다 (예 : Microsoft.AspNet.Tooling.Razor , Microsoft.Extensions.Logging.Console , Microsoft.Extensions.Logging.Debug , Microsoft.Extensions.Logging 등이 모두 프로젝트에서 효과적으로 사용되고 있습니까? 생성기가 자동으로 추가하지 않았기 때문에 수동으로 추가하고 dnu restore 사용하여 dnu restore 있습니까? 수동으로 추가하면 프로젝트에 어떤 영향을 미칩니 까?

수락 된 답변

의존성에서 "EntityFramework"제거 해야 합니다 ( "EntityFramework" 줄 제거 "EntityFramework": "7.0.0-beta4" ).

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

만. 다음 종속성으로 인해 "EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final" 을 추가 한 경우 "EntityFramework.Core": "7.0.0-rc1-final" 명시 적으로 추가 할 필요가 없습니다.

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

EntityFramework.MicrosoftSqlServer 에는 EntityFramework.Relational 가 필요하며 EntityFramework.Core 가 필요합니다.

또한 global.json"sdk": { "version": "1.0.0-rc1-update1" } 가 포함되어 있는지 확인해야합니다 "sdk": { "version": "1.0.0-rc1-update1" } .

업데이트 : 업로드 한 테스트 프로젝트를 검토했습니다. 그것은 많은 작은 문제가있었습니다. 나는 그것을 수정했다. 여기 에서 수정 된 프로젝트를 다운로드 할 수 있습니다. appsettings.json 에서 사용 된 ConnectionString 을 수정하는 것을 잊지 마세요.이 appsettings.json 에는 제가 사용했던 Server 가 포함되어 있습니다.

가장 중요한 변경 사항은 더 간단한 BookContext.cs 의 사용입니다.

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

다음의 SampleData.cs 의 사용법

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

다음 dependencies 부분을 ​​가진 project.json 의 사용법 :

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

appsettings.json 수정

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

( DataLogging 되어서는 안됨 )

및 다음 Startup.cs

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

나는 Configure 메소드의 주석에 명령을 실행해야한다고 썼다.

"EntityFramework.MicrosoftSqlServer": "7.0.0-rc1-final",
"EntityFramework.MicrosoftSqlServer.Design": "7.0.0-rc1-final",
"EntityFramework.Commands": "7.0.0-rc1-final"

모든 패키지가 복원 된 후 dnx ef migrations add Initial20160101205609_Initial.csBookContextModelSnapshot.cs 와 같은 파일을 사용하여 프로젝트에 추가 Migrations 폴더를 만듭니다. appsettings.json 정의 된 데이터베이스는 dnx ef database update 의해 생성되며 프로그램과 함께 포크하는 동안 SampleData.cs 테스트 데이터로 채워집니다.

그런데 package.json 패키지 폴더 ( project.json 과 동일한 레벨)로 옮겼습니다. 패키지를 사용하지는 않지만 이동을하면 Visual Studio에서 npm 패키지가 표시되고 관리됩니다.




아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.
아래 라이선스: CC-BY-SA with attribution
와 제휴하지 않음 Stack Overflow
이 KB는 합법적입니까? 예, 이유를 알아보십시오.