.net - net - visual studio 2017 entity framework install




Seu projeto não está fazendo referência à estrutura ".NETFramework, Version=v4.5". (5)

Estou usando o VS 2015.

Seu projeto não está fazendo referência à estrutura ".NETFramework, Version = 4.5". Adicione uma referência a ".NETFramework, Versão = 4.5" na seção "estruturas" do seu project.json e execute novamente a restauração do NuGet.

Estou recebendo esse erro nas minhas camadas de acesso a dados e lógica de negócios, logo após adicionar à minha camada MVC. As coisas estavam funcionando bem até então, mas não sei o que desencadeou esse erro. Aqui está o meu project.json:

{
  "version": "1.0.0-*",
  "description": "foo bar Class Library",
  "authors": [ "foo bar" ],
  "tags": [ "" ],
  "projectUrl": "",
  "licenseUrl": "",

  "frameworks": {
    "net451": { },
    "dotnet5.4": {
      "dependencies": {
        "Microsoft.CSharp": "4.0.1-beta-23516",
        "System.Collections": "4.0.11-beta-23516",
        "System.Linq": "4.0.1-beta-23516",
        "System.Runtime": "4.0.21-beta-23516",
        "System.Threading": "4.0.11-beta-23516"
      }
    }
  }
}

Aqui está o que eu tentei:

  1. Substituindo "dotnet5.4" por "net451" (e excluindo-o) como encontrado nesta resposta .

Resultado é o mesmo erro.

  1. Substituindo "dotnet5.4" por "net45" e deixando o "net451". Isso resulta em um novo erro:

Seu project.json não possui uma seção de tempos de execução. Você deve adicionar '"runtimes": {"win": {}}' ao seu project.json e, em seguida, execute novamente a restauração do NuGet.

Tentei fazer o que esse erro sugeria e adicionar

"runtimes": {
    "win":  {}
  },

Isso me deu esse erro, que não consigo passar:

Seu project.json não lista 'win' como um tempo de execução direcionado. Você deve adicionar '"win": {}' na seção "tempos de execução" em seu project.json e, em seguida, execute novamente a restauração do NuGet.

Eu já adicionei "vitória", e isso está começando a parecer um arenque vermelho. O que estou fazendo alterando o project.json diretamente, o NuGet não está lidando com isso?


Estou tendo o mesmo problema, mas de uma maneira diferente.

        Your project does not reference ".NETFramework,Version=v4.5" framework. Add a reference to ".NETFramework,Version=v4.5" in the "TargetFrameworks" property of your project file and then re-run NuGet restore.          

Referência adicionada na propriedade TargetFrameworks .

Reconstruído o projeto após excluir obj bin e .vs . Ainda joga o mesmo.


Eu descobri que um project.lock.json desonesto estava causando esse problema para mim. Depois de excluir o arquivo, o problema desapareceu.

Here está alguma documentação em project.lock.json.

Alguns conselhos adicionais seriam garantir que o project.lock.json seja ignorado no seu arquivo git ignore e tentar uma limpeza completa do git. Certifique-se de entender as implicações de um Git clean antes de fazer isso.


Eu tive esse mesmo problema e acabei tendo que excluir não apenas o conteúdo das pastas bin e obj , mas também o diretório .vs da solução.


Eu tive o mesmo problema - isso ocorre ainda usando o Visual Studio 2017.3, que usa arquivos .csproj em vez de project.json. Curiosamente, a mensagem de erro ainda contém o texto "project.json".

Parece que a causa desse problema é um arquivo de bloqueio ou um arquivo obj\project.assets.json (dependendo da sua versão do VS) de uma compilação anterior, que não é removida durante uma limpeza, conforme descrito aqui .

A exclusão manual do diretório /obj é uma solução rápida.

Se você tiver um projeto "novo" (por exemplo, projeto .NET Core ou netstandard criado no VS 2017) e um projeto "antigo" no mesmo diretório (por exemplo, projeto .NET 4.6 criado no VS 2015), parece que eles continuarão lutando porque ambos usam o dir ./obj maneiras diferentes. Mais informações aqui. .

A solução alternativa do msbuild é fazer com que um de seus projetos use um outro obj . Eu adicionei isso ao meu "antigo" csproj:

<PropertyGroup>
  <!-- Needed due to old project and new project in same directory: https://github.com/NuGet/Home/issues/5126 -->
  <BaseIntermediateOutputPath>obj_netfx\</BaseIntermediateOutputPath>
</PropertyGroup>

Na verdade, eu só descobri o problema. Acabei clicando em Restore Nuget Packages no nível da solução e consegui compilar meu arquivo PCL e o restante da minha solução.

Espero que isto ajude.