O arquivo do projeto está incompleto. Importações esperadas estão faltando

93

Após formatar meu computador, reinstalei o Vs 2017 V 15.6.3 e instalei o ASP.Net Core SDK da Microsoft 2.1.4

Mas quando eu crio um novo aplicativo de núcleo asp, o VS falhou com erro

"Arquivo de projeto incompleto. Importações esperadas estão faltando"

Por favor, alguém pode ajudar?

Erro depois de criar o aplicativo principal ASP

Majd Albaho
fonte
Como você "instalou o ASP.Net Core SDK da Microsoft 2.1.4"? Usando o Visual Studio Installer ou por algum outro processo?
Neil
você pode postar seu arquivo de projeto?
Francesco B.
1
Usei este link para configurar o .net core sdk microsoft.com/net/download/thank-you/…
Majd Albaho
4
Essa resposta me ajudou a sair stackoverflow.com/a/55529011/342113 . Atualmente, verifica-se que os SDKs 2.2.1xx são compatíveis com o VS.NET 2017, mas os SDKs 2.2.2XX não são.
rsbarro de
1
@rsbarro Exatamente! Mesmo problema aqui. Portanto, postei como uma resposta .
Steven Jeuris

Respostas:

18

Resolvido

  1. Mesmo depois de desinstalar determinada versão do painel de controle, haveria os arquivos e pastas com a versão excluída encontrados em C: \ Arquivos de programas \ dotnet \ sdk

  2. Vá e exclua a pasta de versão indesejada

  3. Tente recarregar o projeto

Isso funcionou para mim

jithin john
fonte
68

Eu tive o mesmo problema. No meu caso, excluir global.json e appsettings resolveu o problema.

PilgrimViis
fonte
9
Isso funcionou para mim, embora para esclarecer eu só tive que excluir (/ renomear) "global.json". Fwiw: Continha: {"sdk": {"version": "2.0.0"}}
ubienewbie
2
No meu caso, estava faltando a instalação do .NetCore versão 2.0.0 na minha máquina e ele foi mencionado no global.json. Então, acabei de instalar e funcionou bem.
Muhammad Umar
3
dotnet --versionmostra 2.1.201, enquanto global.json mencionou uma versão ligeiramente inferior, 2.1.101. Aparentemente, a versão tem que ser exatamente igual para funcionar, sem compatibilidade com versões anteriores. Ou apenas remova o arquivo conforme sugerido nesta resposta.
GolezTrol
7
deletar apenas global.json foi o suficiente para mim. As configurações de aplicativos podem permanecer no lugar
Wouter Janssens
11
Seria bom informar a (s) pasta (s) de global.json e appsettings nesta resposta.
fernacolo
34

Outra causa potencial é que você instalou uma versão do .NET Core que é incompatível com o Visual Studio . Isso pode não ter relação com a pergunta original do OP, uma vez que se trata de números de versão diferentes, mas como cheguei a esta página enquanto procurava ajuda, pensei que poderia ser útil para outras pessoas.

No momento em que este artigo foi escrito, instalei o .NET Core 2.2.203, que não é compatível com o Visual Studio 2017 (Professional 15.9.11).

A página de download do .NET Core lista um download separado para Visual Studio 2017. Certifique-se de baixar este quando você pretende usar o Visual Studio 2017. A versão com suporte atual é .NET Core 2.2.106 .

Steven Jeuris
fonte
Estranhamente, em meu aplicativo eu tenho um aplicativo N-Tier (UI, BLL e DAL). O projeto BLL carregou bem com esta versão do .NET Core. +1
Dave
9
Você me salvou depois de horas batendo cabeça. A Microsoft deveria ter deixado isso mais óbvio do que um (Compatible with Visual Studio 2017)rótulo de aparência benigna . Deve estar TODO EM MAIÚSCULAS E PRAZER DE VERMELHO, pelo amor de Deus.
Angel Yordanov
Muito obrigado! Isso funciona! O SDK 2.2.105 só funciona com o Visual Studio 15.9.8 ou inferior.
hubert17
atualizar a comunidade VS 2017 para a versão 15.9.12 resolveu o problema no meu caso
GoldenAge
23

Você pode verificar o arquivo global.json que pode ser encontrado no diretório raiz da solução e certificar-se de que a versão do SDK de destino instalada em sua máquina ou atualizá-la para uma que já esteja instalada, por exemplo, se você tiver a versão 2.1.4 do SDK instalada seu global.json deve ser assim

{
  "sdk":
  {
    "version": "2.1.400"
  }
}   
Smart Dev
fonte
1
Isso foi tudo para mim. Versão "2.1.300" no global.json, mas 2.1.200& 2.1.403instalado; mudar para 2.1.400 funcionou.
Pasi Savolainen
3
Trabalhei tanto alterando para uma das versões instaladas do SDK ou removendo o versionatributo completamente
Salaros
2
Funcionou para mim também. Alterei a versão para corresponder ao mais próximo do que eu já tinha no meu sistema. Você pode executar "dotnet --versions" para ver o que instalou.
daudihus
2
dotnet --list-sdkse dotnet --list-runtimespara ver tudo que você instalou dotnet --versionirá mostrar a versão atual em uso.
nathanchere
1
Essa foi a solução para nós também. Em nosso caso, tivemos alguns projetos no VS2017 com netcore 2.1; instalamos o netcore 3 e não podíamos mais abrir os projetos. Criar global.json na pasta raiz do projeto resolveu o problema
Jack Casas
18

Reparar a última instalação do Core funcionou para mim

Uzay
fonte
1
Eu tive que reiniciar também, mas isso corrigiu para mim.
DTown de
1
Para as pessoas que procuram "como" reparar o .NET Framework (também funciona para o Core), pesquise ".NET Framework Repair Tool" em seu mecanismo de pesquisa favorito. Executar apenas a primeira etapa consertou para mim.
KSwift87 de
2
também W10 Contol Panel - Programs- Programs and Features select installation and repair
Uzay
15

No meu caso, eu tinha duas versões do Visual Studio instaladas (15.7 e 15.6). 15.7 não tinha as cargas de trabalho da web instaladas, embora .net core 2.1 RC1 já estivesse instalado. Eu instalei a carga de trabalho do asp.net no VS2017 e, em seguida, reparei minha instalação principal .net para uma boa medida. Definitivamente, algo neste processo trocou meus c: \ arquivos de programas (x86) \ dotnet ec "\ arquivos de programas \ dotnet neste caminho e o Visual Studio (15.7) não abriu meu projeto da web.

Eu simplesmente editei as variáveis ​​de ambiente do sistema, movi a pasta x86 para baixo e voila - reabri o Visual Studio e agora ele carregou meu projeto. Variáveis ​​de ambiente do sistema

Adam Tuliper - MSFT
fonte
3
No meu caso, c: \ Arquivos de programas \ dotnet \ foi removido de meus PATHs
micahtan de
1
ahhhhhh tanto tempo perdido nisso, essa foi a resposta para mim. OBRIGADO!
spalt
NET4.7.1 instalado, então todos os projetos Net.Core existentes foram arruinados. A magia "Mover para baixo" os consertou.
Yury Schkatula
13

Eh, erro de novato, eu tinha o SSDT do Visual Studio aberto e estava tentando abrir um projeto .Net Core existente que produz o mesmo erro:

"Arquivo de projeto incompleto. Importações esperadas estão faltando"

A solução foi usar o Visual Studio, não o SSDT , consulte Ajuda> Sobre:

insira a descrição da imagem aqui

Jeremy Thompson
fonte
1
Depois de horas de confusão sobre o versionamento do núcleo .net, esta foi a solução real para mim. E, para mim, o SSDT se tornou o padrão ao abrir um arquivo de solução de uma pasta, então eu corrigi isso também. Obrigado!
Alex
9

Resolvi esse problema algumas vezes fechando o Visual Studio e executando os seguintes comandos

  1. dotnet nuget locais -c all
  2. dotnet limpo
  3. compilação dotnet

Parece que há momentos, principalmente no início dos projetos, em que o nuget fica maluco (termo técnico).

Brett Bim
fonte
9

Após instalar o VS2019 comecei a ter o mesmo erro ao abrir as soluções .Net Core existentes no VS2017.
No Visual Studio Installer , atualizei o VS2017 para a versão mais recente (15.9.11) e o problema desapareceu.

Mais tarde, após atualizar o VS2019 para a versão mais recente, comecei a ter os mesmos erros e tive que atualizar o VS2017 novamente.

Michael Freidgeim
fonte
8

Resolvi esse problema modificando a primeira linha no arquivo .csproj de:

<Project Sdk="Microsoft.NET.Sdk.WindowsDesktop">

para:

<Project Sdk="Microsoft.NET.Sdk">
google dev
fonte
5

Comecei a receber esse erro quando desinstalei todos os meus SDKs .NET Core antigos e instalei o mais recente, 2.1.5, no momento da postagem. Tentei todas as soluções aqui sem sorte, então decidi verificar qual é a versão atual do SDK depois de toda a limpeza que fiz porque pensei que isso estava causando o problema e estava certo - iniciei um prompt de comando e escrevidotnet --version e recebi a mensagem "Você quis dizer executar comandos dotnet SDK? Instale dotnet SDK de:". Estranho, o SDK está instalado, mas o sistema não o vê. Então eu olhei em minhas variáveis ​​de ambiente e a variável PATH tinha o caminho x86 para dotnet antes do caminho normal de Arquivos de Programas (o x64). Então mudei o x64 antes do x86 e voila, tudo voltou ao normal.

Espero ter ajudado alguém.

Ivaylo Dimitrov
fonte
Você me ajudou. Isso só aconteceu quando eu atualizei de 2.2.3 para 2.2.4. Gostaria de saber se há uma ordem específica de instalação de novo / desinstalação antiga que faz com que isso aconteça.
MattOG de
@MattOG, tentei várias variantes para instalar / desinstalar, mas esse problema ocorre sempre. Acho que só vou ter que me acostumar com isso;) Não é nada demais, afinal, quando temos uma fonte como stackoverflow.
Ivaylo Dimitrov
É o mesmo que o arquivo de projeto de resposta do Smart Dev está incompleto. As importações esperadas estão faltando ?
Michael Freidgeim
4

Eu tenho o mesmo problema. Não consegui criar um novo ASP .Net Core 2 em um VS2017 recém instalado ou abrir um existente, que funciona perfeitamente em outro computador com VS2017.

Ele começou a funcionar para mim depois de desinstalar todos os tempos de execução do .NET Core e do .NET Core Windows Server Hosting do Windows. Os SDKs foram deixados apenas e tudo funciona finalmente. insira a descrição da imagem aqui

Provavelmente, eu precisava desinstalar apenas o .NET Core Runtimes ou o .NET Core Windows Server Hosting do Windows e seria o suficiente.

Serg
fonte
Eu nunca tive o ASP Core 2 SDK instalado em minha máquina, o problema ainda está presente mesmo após uma nova instalação
alexlomba87
Funcionou para mim. Após desinstalar o Core Windows Server Hosting. sem reinicialização do VS. Acabei de recarregar os projetos.
profimedica de
4

A única coisa que funcionou para mim foi atualizar o Visual Studio:

insira a descrição da imagem aqui

insira a descrição da imagem aqui

Egon Allison
fonte
3

Tive os mesmos sintomas de um SDK do dotnet core corrompido (na linha de comando, não consegui executar o dotnet -v, onde antes era possível). Meu projeto falhou ao carregar após uma falha na instalação da plataforma da web do IIS. Reinstalar o SDK do .NET core resolveu o problema.

lukace
fonte
3

Eu tive o mesmo problema. Levei um tempo em silêncio para descobrir. No meu caso, eu estava tentando abrir um novo aplicativo ASP .NET Core e estava recebendo 0 projetos como este neste post.

O que eu tentei: tentei alterar as variáveis ​​ambientais em Painel de Controle \ Sistema e Segurança \ Sistema (clique em configurações avançadas)

insira a descrição da imagem aqui

Em seguida, clique em Variáveis ​​Ambientais

insira a descrição da imagem aqui

Em seguida, verifique se você tem o caminho dotnet incluído, se está em Arquivos de programas ou Arquivos de programas (x86) insira a descrição da imagem aqui

Algumas pessoas sugeriram mover (x86) para cima, que é baseado na documentação da Microsoft

O que corrigiu meu problema: Acontece que eu tinha a versão errada instalada e ela não era compatível com o Visual Studio 2017 insira a descrição da imagem aqui

Então eu removi as outras instalações e reinstalei a versão certa que é compatível com o VS17 e funciona como uma mágica. Espero que ajude alguém no futuro.

Namig Ismayilov
fonte
1
Isso foi uma parte do que funcionou para mim. Todos os outros SDKs em minha máquina eram de 64 bits (e, portanto, em "Arquivos de programas"). Tive que instalar o Core for VS 2017 - 2.2.110 mais recente como a versão x86. Isso vai para a árvore "Arquivos de programas (x86)". Removi as instruções PATH adicionadas anteriormente para a pasta normal "Arquivos de Programas" e as substituí por "Arquivos de Programas (x86)" e funcionou novamente!
Grandizer
Isso me ajudou! Desinstalei um monte de SDKs que o Windows 10 Insider Preview instalou automaticamente para mim e acidentalmente removi o que o VS 2017 precisava. Obrigado!
Jeff LaFay
2

no meu caso, fui para a pasta C: \ Arquivos de programas \ dotnet \ sdk excluir a pasta sdk de visualização e, na linha de comando, executei:

dotnet sdk 2.1.200

para definir a versão sdk correta para o núcleo do asp.net. isso resolveu o problema.

koo9
fonte
1

Obrigado pessoal, eu tinha reinstalado a versão anterior do Visual Studio 2017 e funciona bem. Minha versão do VS é 15.4 e é bom

Majd Albaho
fonte
7
Versão 15.6.7 aqui, e o problema ainda está presente. Eu não marcaria isso como uma resposta aceita, pois não é realmente uma solução para as versões mais recentes do VS.
alexlomba87
docs.microsoft.com/en-us/dotnet/core/… VS2017 necessário é 15.9.0
Griffin
1

Isso aconteceu comigo quando desinstalei uma instância do VS2015 do Visual Studio que estava executando lado a lado com o VS2017.

Tive que sair e reinstalar o .Net Core sdk / runtime com a versão x86. Eu já tinha feito manualmente as versões x64 deles, mas não pensei no visual studio rodando em 32 bits.

Estes são os arquivos:

  • dotnet-sdk-xxx-win-x86.exe

  • DotNetCore.xxx-WindowsHosting.exe

Jason
fonte
1

Eu estava enfrentando o mesmo problema. Eu estava executando meu projeto no .Net core 2.2. Tentei todas as soluções fornecidas aqui, mas nada funcionou. Consertei meu estúdio visual e está funcionando bem agora.

Kinjal Parmar
fonte
1

Eu tive a mesma mensagem de erro. No meu caso. Tive que instalar o conjunto de ferramentas de desenvolvimento de plataforma cruzada do .NET Core .

Passos:

  1. No Visual Studio, vá para Ferramentas> Obter ferramentas e recursos ...
  2. Modifique a instalação em Cargas de trabalho: selecione Desenvolvimento de plataforma cruzada do .NET Core e clique em Modificar.
  3. Reinicie o VS e reconstrua seu projeto.
vencedor
fonte
1

Eu resolvi isso atualizando o Visual Studio para a versão 2017.

O problema real era que a versão do núcleo .net era posterior ao Visual Studio.

Vá para Ajuda> Verificar atualizações, atualizar Visual Studio.

Asad ullah
fonte
0

Tive o mesmo problema com um projeto ASP.net Core 2.0 depois de instalar o DotNetCore.2.0.5-WindowsHosting Framework em minha máquina de desenvolvimento. Eu poderia resolver esse problema depois de desinstalar o WindowsHosting Framework e todos os pacotes .net Core. Depois disso, reinstalei o pacote dotnet-sdk-2.1.200-win-x64 e tudo funcionou bem.

Peter H
fonte
0

Excluir as pastas bin e obj do projeto corrigiu isso para mim.

Tolo
fonte
0

O mesmo problema ... demorei um pouco para descobrir. Como estava trabalhando em um projeto ASP.NET Core voltado para o .NET Core 1.1, pensei que ainda precisava do .NET Core 1.1 SDK instalado. Como eu também tinha o .NET Core SDK 2.1 instalado, houve algum tipo de conflito e não consegui abrir o arquivo do projeto. Depois de desinstalar o .NET Core 1.1, consegui abrir meu projeto.

Lee Cordell
fonte
0

Execute a restauração do dotnet na linha de comando para a solução.

Dica. Se você desinstalou a última versão .net core, digamos 2.1.403 e instalou a anterior, certifique-se de que a pasta 2.1.403 foi realmente removida do caminho

C: \ Arquivos de programas \ dotnet \ sdk \

Tive o problema porque deixei uma pasta vazia com 2.1.403

Artem Vertiy
fonte
0

Exclua todas as pastas bin e obj geradas pela construção . Isso funcionou para mim depois de renomear o projeto e tentar recarregar a solução. Não tenho certeza sobre a verdadeira causa do carregamento incompatível.

Antti
fonte
0

Tenho o mesmo problema e executo o Visual com privilégios de administrador novamente. Isso me ajuda a abrir o projeto nomarlly.

hoanvd1210
fonte
0

Acontece que meu projeto dependia de outro projeto na solução, que tinha falhado em problemas de dependência do NuGet, o que, por sua vez, ocorria porque a Estrutura de destino nas propriedades do projeto estava em branco.

Abri o .csprojarquivo para verificar o framework de destino, baixei o framework de destino e escolhi "reparar", reiniciei o Visual Studio e tudo bem novamente!

SharpC
fonte
0

Acabei de ter o mesmo problema ao instalar a nova versão de visualização do VS 2019. Corrigi-lo desinstalando a atualização mais recente, que por sua vez desinstalou a versão baixada mais recente do núcleo. O que eu acredito que causou o desencontro.

João
fonte
0

Só precisa fazer a verificação cruzada da versão da biblioteca principal .net de criação do projeto com a atualizada. Quando você atualiza a biblioteca principal, ela não será atualizada para .csproj, ou você precisa atualizá-la manualmente ou precisa remover o arquivo sdk principal / atualizado mais recente.

Para verificar o comando .net core version --fire no cmd: - dotnet --version

Em seguida, verifique a biblioteca instalada em Programa e Recursos - A remoção da biblioteca mais recente resolve o problema sem alterar uma única linha

Pooja Suryawanshi
fonte