/ / Entity Framework Version - 4.1.10715 possui targetFramework de “net35”, mas depende de mscorlib, Version = 4.0.0.0 - entity-framework

A Versão do Entity Framework - 4.1.10715 possui targetFramework de “net35”, mas depende do mscorlib, Versão = 4.0.0.0 - entity-framework

Eu tentei EF 4.1.10715 e EF 4.1.10331.0 ambos os pacotes parecem ter como alvo o Framework 3.5, mas tem dependências no mscorlib, Versão 4.0.0.0

Abaixo está a captura de tela do Package Config para a versão 4.1.10331.0 desta manhã.

ScreenShot from Package Config

Na compilação, falhamos com

C:Program Files (x86)MSBuild12.0binMicrosoft.Common.CurrentVersion.targets(1635,5): warning MSB3258: The primary reference "EntityFramework" could not be resolved because it has an indirect dependency on the .NET Framework assembly "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" which has a higher version "4.0.0.0" than the version "2.0.0.0" in the current target framework.

Alguma ideia?

Respostas:

1 para resposta № 1

Depois de criar um novo projeto WinForm no Visual Studio 2012 com o .NET 3.5 como a estrutura de destino, instalei a versão 4.1.10715.0 do Entity Framework e tive os mesmos problemas.

Abrir o assembly EntityFramework referenciado no dotPeek confirma que ele foi compilado para o .NET 4.0.

Apesar do targetFramework indicar 3.5 em packages.config, o assembly referenciado foi compilado para o .NET 4.0.

<packages> <package id="EntityFramework" version="4.1.10715.0" targetFramework="net35" /></packages>

Parece que alguém maltratou um pacote antes de publicar.


1 para resposta № 2

EntityFramework 4.0+ (incluindo 4.1) não suportam o .NET Framework 3.5. A única versão que você pode usar em um .NET Framework 3.5 é EF1, que faz parte do .NET Framework 3.5 SP1. Então, se você não tiver a versão do SP1, você não poderá usar a EF.