Visual Studio exibindo erros mesmo se os projetos forem construídos

265

Eu tenho um problema com o Visual Studio em uma solução c #. Ele exibe erros totalmente aleatórios, mas os projetos são construídos. No momento, tenho 33 arquivos com erros e posso ver linhas onduladas vermelhas em todos eles.

Tentei limpar / reconstruir a solução, fechar o Visual Studio e até reiniciar o computador. Também fiz questão de executar as etapas descritas na Depuração, mesmo com erros do compilador no Visual Studio. Eu posso modificar arquivos .cs e vejo as alterações na solução.

Alguém tem uma idéia de por que isso acontece?

GammaOmega
fonte
3
Você tem o ReSharper ou qualquer outro complemento como este instalado? Eles também podem causar linhas onduladas vermelhas.
user1908061
3
Tente excluir as pastas bin e obj de cada projeto.
11333 Charlie
Erros ou avisos? Se o projeto for construído, significa que estes são avisos. Desative todos os complementos e veja como ele vai.
Ehsan
Temos o mesmo problema com duas de nossas máquinas no candidato ao VS 2013 RC. No entanto, nenhum resharper instalado. O dilema aqui é que, embora seja construído sem problemas, nenhum senso de inteligência funcionará porque não pode "resolver" espaços para nome e objetos. Muito estranho. Funciona perfeitamente em outras 5 máquinas.
Ryk
Conflitos não resolvidos no Team Foundation Server também podem ser uma fonte desse problema. A obtenção da versão mais recente pode informar que é bem-sucedida e que todos os arquivos são atualizados, mas isso nem sempre é verdade. Se você for para o Team Explorer> Alterações pendentes> Ações> Resolver conflitos e clique em "Obter todos os conflitos", ele deverá mostrar se há algum conflito não resolvido que você precise corrigir.
precisa saber é o seguinte

Respostas:

325

Se você possui o ReSharper, tente esvaziar o cache do ReSharper:

No menu, ReSharper> Opções> Ambiente> Geral> Limpar caches

e desativando e reativando o ReSharper:

No menu, Ferramentas> Opções> ReSharper> Geral> Suspender / Restaurar

GammaOmega
fonte
182

Limpar o cache do Resharper não ajudou no meu caso, tentou suspender / restaurar e também Reparar o Resharper, usando o download mais recente do site do JetBrains - nenhum deles ajudou. Isso foi depois que tentei fechar / reabrir o VS, reiniciar minha máquina, repetir, Compilar / Reconstruir e uma combinação dos mesmos.

É interessante que a suspensão do Resharper pareceu resolver o problema após a reinicialização do VS, mas ocorreu novamente após eu ativar o Resharper <- tentei fazer essa sequência 2-3 vezes para garantir o padrão.

Enfim, eu ainda estava tendo problemas quando encontrei este artigo:

Portanto, excluí o arquivo .SUO oculto no mesmo nível de pasta da solução e ele resolveu magicamente todos os vermelhos.

Nota - para o Visual Studio 2015, o arquivo .SUO está na pasta oculta .vs / [solution_name] / v14 .

Neolisk
fonte
7
Os passos do Resharper também não funcionaram para mim, mas funcionaram. Obrigado!
23715 Justin Justin3
4
Sua solução a corrigiu para mim, depois de reiniciar o visual studio. Obrigado! :)
Moulde
1
VS2015 - Eu até tinha um projeto que não seria construído, mas pude perceber pelos erros que ele deveria ter. Não precisei fechar o VS. Apenas fechei a solução, exclua .suo e reabra a solução. Problema resolvido.
TTT
5
Ainda funciona com o VS2019, obrigado! O arquivo .suo está localizado em .vs / [nome_da_ solução] / v16.
Michael Armes
3
No VS2019, destruí o diretório .vs, ele foi recriado no próximo erro de compilação - falso.
Loren Pechtel 6/09/19
92

tldr; Descarregue e recarregue o projeto do problema.

Quando isso acontece comigo, eu costumava fechar o VS e reabri-lo. Isso provavelmente funcionou cerca da metade do tempo. Quando não funcionou, fechei a solução, exclua o arquivo .suo (ou a pasta .vs inteira) e reabra a solução. Até agora, isso sempre funcionou para mim (mais de 10 vezes nos últimos 6 meses), mas é um pouco tedioso porque algumas coisas são redefinidas, como o modo de compilação, o projeto de inicialização etc.

Como geralmente é apenas um projeto que está tendo o problema, tentei descarregar e recarregá-lo, e isso funcionou. O tamanho da minha amostra é de apenas 1, mas é muito mais rápido que as outras duas opções, portanto vale a pena tentar. Suspeito que isso funcione porque ele grava no arquivo .suo e talvez conserte a parte corrompida que estava causando o problema.

Nota: isso parece funcionar no VS 2019, 2017 e 2015.

TTT
fonte
7
Eu apenas tentei descarregar esse projeto e recarregá-lo, e isso funcionou. ” Sinto como se estivesse contribuindo para um culto à carga, mas acabei carregando e descarregando (com limpezas e construções aleatórias no meio) e, finalmente, encontrei ouro. Tão estranho. Isso é com o VS 2017.
ruffin 12/10
2
@ruffin - hehe. Penso que todas as respostas a esta pergunta são um "culto à carga", mas acredito que a minha é a mais rápida e menos invasiva. ;)
TTT
1
Exclusão do .VS inteiras pasta fez isso por mim no VS 2017 Comunidade com ReSharper
Pedro Martins Timóteo da Costa
3
O descarregamento e o recarregamento também funcionaram para mim no VS 2019 CE
simonlchilds
1
A exclusão da pasta .vs funcionou para mim no VS 2019 sem o ReSharper, apenas o VS. OBRIGADO!!!
German Latorre
39

Limpei a solução, fechei o VS, reabri-o, desenvolvi a solução e linhas vermelhas não resolvidas foram limpas e a compilação foi bem-sucedida.

pixel
fonte
2
Essas etapas, seguidas exatamente, funcionaram para mim. Simplesmente limpar e construir não funcionaria para mim.
21716 JasonCoder
2
Desligue e ligue novamente ... você acha que eu já deveria tentar isso agora. +1
iandisme
Isso resolveu o problema! Mas o que causou isso em primeiro lugar !?
precisa
2
Eu não faço ideia. Acho que o Visual Studio é o IDE mais instável que já usei. Ele fica travado, trava com frequência e mostra erros estranhos de vez em quando. Parei de contar as questões para ser sincero.
pixel
Seguir estas etapas exatas não resolveu o problema para mim (no VS2015).
Tim
29

Descobri que isso acontece com frequência ao usar o Git no Visual Studio 2017, alternando ramos onde há alterações de código dependentes . Mesmo que o projeto seja compilado com êxito, haverá erros na lista de erros.

Esses erros geralmente são problemas de espaço para nome e referências ausentes, mesmo quando a referência da biblioteca existe.

Resolver:

  • Feche o Visual Studio
  • Exclua o arquivo {sln-root} .vs \ SlnName \ v15.suo (oculto)
  • Reinicie o Visual Studio
Rebecca
fonte
Obrigado por esta dica. Ele resolveu um problema para nós com o VS 2017 (sem atualizações). FWIW, isso aconteceu conosco após a exclusão e o check-out de uma filial que havia sido refazida no controle remoto.
Mike Atkisson
1
Embora essa solução não tenha corrigido meu problema, acho que esse problema começou depois que eu alternava ramificações com alterações não confirmadas (porque eu precisava aplicá-las a outra ramificação)
CularBytes
Este é exatamente o meu problema. Obrigado meu salvador
Dinh Tran
@CularBytes Pode valer a pena esconder alterações antes de mudar de ramificação. git stash, alternar ramo, git stash pop
Rebecca
18

Eu tentei todas as 6 opções, nada funcionou para mim. A solução abaixo resolveu meu problema.

Feche o VS. Exclua a pasta ".vs" oculta ao lado do arquivo de solução. Reinicie o VS e carregue a solução.

suresh t
fonte
parece haver uma nova causa para esse problema e esta é a nova solução para esse problema. Conheço outras 3 pessoas que também nos dias em que você postou isso também de repente se depararam com esse problema.
Gerrie Pretorius
Tinha que fazer o mesmo que Moshi. Não parece ser um arquivo .suo durante a execução do VS 2019. Alguém poderia pensar que eles teriam corrigido esse problema agora ... * resmungar resmungar * resmungar
Mike Loux
Para mim também garfo no vs2017
Nejc Galof 26/07/19
1
@ MikeLoux Dê uma olhada na resposta de Neolisk e você verá que ele apontou que o arquivo .suo agora está na pasta .vs, então tudo o que você precisa fazer é excluir esse arquivo, não a pasta inteira. Não que isso seja particularmente satisfatório também!
Avrohom Yisroel
Avrohom - esse último pedaço resume perfeitamente. Não, não é muito satisfatório. E, sim, acredito que finalmente encontrei o arquivo onde você e Neolisk o apontaram e o fizeram nas poucas vezes em que ocorreram novamente (não tão frequentemente, felizmente). Então ... isso é algo, eu acho. :-)
Mike Loux
12

Eu tive um problema como este em que o Intellisense parecia não reconhecer a existência de um projeto (muitos erros "não é possível encontrar esse tipo", "esse espaço para nome não existe" etc.)).

Remover e adicionar novamente a referência do projeto em todos os projetos de referência resolveria o problema, mas a causa subjacente poderia ser corrigida editando o arquivo .proj do projeto do problema.

Próximo à parte superior do arquivo ".csproj" do projeto "ausente" está um elemento:

<ProjectGuid>{GUID}</ProjectGuid>

e em todos os projetos de referência, os arquivos .csproj eram referências de projeto:

<ProjectReference Include="..\OffendingProject\OffendingProject.csproj">
  <Project>{ANOTHER-GUID}</Project>
  <Name>Offending Project</Name>
</ProjectReference>

O GUID de referência não corresponde ao GUID do projeto. A substituição {GUID}acima por {ANOTHER-GUID}corrigiu o problema sem ter que passar por todos os projetos de referência.

Philip C
fonte
Isso funcionou para mim, mesmo que fosse um pacote de pepitas. Eu me certifiquei de que o caminho permanecesse relativo no arquivo .csproj (literalmente nada foi alterado no DIFF do TFS), mas isso fez com que o VS2017 STFU faltasse aos erros inexistentes.
BrainSlugs83
1
Eu só tive que re-adicionar uma referência de projeto único e todas as referências problemáticas refrescado
robaudas
Nenhuma das outras soluções trabalharam para mim, este fez o truque :)
Pablo Carrasco Hernández
12

Aqui está uma coleção de respostas populares. Atualize o OP da resposta se ela ajudou:

Opção 1: Limpar, criar e atualizar ( @Mike Fuchs opção )

Como o @Mike Fuchs mencionou, tente as seguintes operações:

No menu, Build> Clean Solution

E

No menu, Build> Build Solution

selecione o projeto em questão e clique no botão Atualizar:

Botão Atualizar

Opção 2: Limpar, Fechar, Reiniciar e Compilar ( opção @Pixel )

Como o @Pixel mencionou, tente a seguinte sequência de operações:

  1. Limpe a solução
  2. Feche o Visual Studio
  3. Abra o Visual Studio
  4. Solução de compilação

Opção 3: Limpar cache do ReSharper ( opção @GammaOmega )

Se você possui o ReSharper, tente esvaziar o cache do ReSharper:

No menu, ReSharper> Opções> Ambiente> Geral> Limpar caches

e desativando e reativando o ReSharper:

No menu, Ferramentas> Opções> ReSharper> Geral> Suspender / Restaurar

Opção 4: exclua o arquivo .suo ( opção @Neolisk )

Como o @Neolisk mencionou, a exclusão do arquivo .suo pode resolver seu problema. Para o Visual Studio 2015, o arquivo está localizado em:

[Caminho da solução] /. Vs / [Nome da solução] /v14/.suo

E para o Visual Studio 2017:

[Caminho da solução] /. Vs / [Nome da solução] /v15/.suo

Observe que o diretório .vs está oculto.

Opção 5: Descarregar e recarregar projeto ( opção @TTT )

Como o @TTT mencionou, tente descarregar o projeto que causa problemas:

No Gerenciador de Soluções, clique com o botão direito do mouse no projeto, Descarregar projeto.

E recarregá-lo

No Gerenciador de Soluções, clique com o botão direito do mouse no projeto, Recarregar Projeto.

Opção 6: Remova e adicione a referência Microsoft.CSharp ( opção @Guilherme )

Como o @Guilherme mencionou, tente remover e adicionar a referência ao "Microsoft.CSharp" dos projetos com problemas.

No Gerenciador de Soluções, expanda o projeto, expanda "Referências", clique com o botão direito do mouse em "Microsoft.CSharp" e Remover.

Em seguida, clique com o botão direito do mouse em Referências> Adicionar referência, selecione "Microsoft.CSharp" na lista e clique em OK

GammaOmega
fonte
A opção 6 fez isso. Teve que clicar no link @Guilherme para votar, porque está (agora?) Em outra pergunta.
gbarry
Nenhum dos acima funcionou para mim, ter mais de 80 projectos em solução
Efe
10

Exclua o caminho do arquivo oculto = sua solução \ .vs \ nome da sua solução \ v15 \ .suo

NoXSaeeD
fonte
1
trabalhou para mim também. VS 2019. Os projetos WPF continuavam mostrando erros em relação aos controles que não existiam, mas foram bem executados.
Flemming Bonde Kentved
6

para o VS-2017, a exclusão da pasta .vs funcionou para mim.

Romesh D. Niriella
fonte
5

Percebi que, às vezes, ao alternar ramos git, o Visual Studio (2017) não reconhece tipos de alguns arquivos que foram adicionados no segundo ramo. A exclusão da pasta .vs a soluciona, mas também descarta todas as configurações da área de trabalho. Esse truque parece funcionar bem para mim:

  1. Solution Explorer -> Encontre o arquivo com a classe não reconhecida.
  2. Clique em Mostrar todos os arquivos na parte superior do Solution Explorer.
  3. Clique com o botão direito do mouse no arquivo -> Excluir do projeto.
  4. Clique com o botão direito do mouse no arquivo novamente -> Incluir no projeto.

Isso faz com que o Intellisense analise o arquivo que perdeu ao alternar ramificações.

Erik
fonte
4

A seguinte solução funcionou para mim

1 - Fechar VS

2 - Excluir pasta .vs

3 - VS Aberto

4 - Compilar solução

Vijay Hugar
fonte
3

Talvez você tente redefinir seu cache intellisense. Eu tive um problema semelhante no visual studio 2012 ao trabalhar em um projeto grande com muitas definições de classe parciais. Reduzir os parciais resolveu o problema parcialmente, limpando o cache do intellisense também - por um tempo.

Daniel Nachtrub
fonte
3

Ocasionalmente, tenho que fazer uma limpeza personalizada, percorrendo todos os projetos e excluindo manualmente as pastas "bin" e "obj". Para vê-los no Visual Studio, você precisará habilitar arquivos e pastas ocultos para cada projeto. Depois disso, reconstrua a solução.

Jargão técnico incompreensível
fonte
3

A exclusão da .vspasta resolveu meu problema.

Mas também redefine as configurações atuais da minha solução no VS. Como, meus projetos descarregados na solução foram recarregados e todos os documentos fixados e abertos também foram fechados quando reiniciei o VS.

Usman Farooq
fonte
2

0 - Clique com o botão direito do mouse na solução e na solução limpa

1 - Fechar VS

2 - Exclua o arquivo .suo do projeto

3 - VS Aberto

4 - Compilar solução

nPcomp
fonte
2

Um colega meu enfrentou esse problema hoje. Tentamos muitas das recomendações aqui e nenhuma funcionou, exceto a solução descrita abaixo.

Problema:

O projeto é bom, mas o Intellisense falha ao reconhecer determinados tipos e marca determinadas usinginstruções como inválidas.

Solução:

Altere a 'Plataforma de soluções' (no VS 2017, esse é o menu suspenso ao lado do menu suspenso Configuração da solução e possui valores como x86, x64, AnyCPU, plataformas mistas, etc.) para AnyCPU .

A plataforma para seu projeto pode variar, mas parece que algumas referências podem não ser válidas para todas as plataformas.

AperioOculus
fonte
1

Para o meu caso específico, era uma referência de serviço que outro desenvolvedor mesclou no ramo principal. O que estava perfeitamente correto, exceto que o destaque da sintaxe falhou ao resolver a classe de serviço gerada e a fonte estava toda sublinhada em vermelho. Limpar, reconstruir, reiniciar não fez nada.

Tudo o que eu precisava fazer era atualizar a referência de serviço e o VS conseguiu juntar as peças nos bastidores. Nenhuma alteração no código fonte ou nos arquivos gerados.

Fjarskiptagervitungl
fonte
1

Acabei de encontrar esse problema depois de reverter um commit do git que adicionou arquivos de volta ao meu projeto.

Limpar e reconstruir o projeto não funcionou, mesmo que eu fechasse o VS entre cada etapa.

O que acabou dando certo foi renomear o arquivo para outra coisa e alterá-lo novamente. : facepalm:

KidCode
fonte
1

Depois de tentar todas as opções listadas, descobri mais uma razão pela qual isso pode acontecer. Se alguém lhe enviou o código-fonte como um zip ou você fez o download de um zip, o Windows pode ter bloqueado todos os arquivos. 2 maneiras de resolver isso:

Método 1:

Clique com o botão direito do mouse no arquivo Zip original -> Marque 'Desbloquear' -> Clique em Aplicar

Método 2:

Se isso não for uma opção, em vez de abrir propriedades em todos os arquivos da pasta da solução, basta abrir o power shell e desbloquear recursivamente usando o seguinte:

Get-ChildItem -Path 'C:\<ROOT FOLDER OF SOLUTION>\' -Recurse | Unblock-File
Conor Gallagher
fonte
1
  1. primeiro feche a solução.
  2. exclua o arquivo de cache da solução excluído (no local C: \ Usuários \ Documentos \ Visual Studio \ Arquivos de Backup / arquivo de cache do projeto)
  3. e exclua o arquivo .suo
  4. então a solução é aberta e criada.

Espero resolver o seu problema

Mahfuz Morshed
fonte
1

Teve esse problema no trabalho (executando o VS2017). Tentei todas as respostas aqui. Sem alegria

O projeto criaria muito bem, mas estava reclamando que os namespaces / tipos não foram encontrados. Rabiscos vermelhos por todo o lado. Muitos erros na janela Lista de erros.

Minha solução continha 3 projetos.

Descobriu que três das referências da biblioteca NuGet para um dos projetos estavam fora de linha. Consolidou as versões de bibliotecas referenciadas e o Bingo.

Espero que isso ajude alguém.

Brett.

Brett
fonte
1

Descarregar e recarregar o projeto corrigiu esse problema.

Ankush Jain
fonte
0

Às vezes, se você apenas limpa a solução, os erros estão desaparecendo, mas eles podem voltar depois de algum tempo ou na próxima compilação.

meJustAndrew
fonte
0

Deparou-se com esse problema com um único tipo não sendo reconhecido pelo Visual Studio, que mostrava o rabisco vermelho, apesar de a solução ter sido criada com êxito. Notei no Solution Explorer que o arquivo não tinha a seta de expansão à esquerda, que mostra classes e propriedades na expansão.

A correção foi excluir o arquivo do projeto e salvar / criar que produziu um erro esperado e, em seguida, incluir o arquivo no projeto e salvar e criar.

Depois de executar essas etapas, o Visual Studio começou a reconhecer meu tipo novamente. Olhando para o diff no git, parece que o problema ocorreu devido às terminações de linha que não coincidem na <Compile Include="..." />linha do meu arquivo .csproj.

Thorb
fonte
0

no meu caso vs nunca foi reter os namespaces importados nas propriedades do projeto> referências

quando tentei adicioná-los / verificá-los novamente, não consegui e o vs causou um erro e quando o projeto salvo vs caiu. Quando reabri, todos os namespaces padrão importados (system.data etc ...) foram marcados novamente e, em seguida, reconhecemos tudo sem erros

m mordomo
fonte
0

TL; DR: execute uma reinstalação limpa do Visual Studio

Depois de perder várias horas, eu ainda não conseguia consertá-lo para o Visual Studio 2017. Em seguida, instalei o Visual Studio 2019 PREVIEW e, de repente, o IntelliSense me exibe os membros das classes STL novamente (o que não acontece com o Visual Studio 2017 )

Então, meu palpite é que também pode haver algo errado com o Visual Studio (talvez algo no diretório de cache ou, em geral, algo no seu PC que não esteja diretamente relacionado a uma solução específica) que possa ser resolvido por um recurso limpo e completo. -instalação do Visual Studio. Eu sei, essa é uma "solução" estúpida, mas no meu caso, apenas uma nova instalação do Visual Studio (2019) teve efeito.

Como já mencionado, no meu caso, apenas as classes STL foram afetadas. O IntelliSense não exibia seus membros, o que é estranho. Eu pensei que talvez pudesse ter algo a ver com cabeçalhos pré-compilados. Em algum lugar, li que o STL e o projeto devem estar na mesma unidade e colocá-los no mesmo deve resolver o problema. Mas nenhuma dessas rotas levou ao sucesso.

j00hi
fonte
0

Descobri que isso pode acontecer se o projeto referenciado tiver como alvo uma versão superior da estrutura do que o projeto que está tentando usá-lo. Você pode dizer se esse é o problema indo para a janela de saída e procurando algo semelhante a este:

A referência principal "minha_referência" não pôde ser resolvida porque foi criada na estrutura ".NETFramework, Versão = v4.7.2". Esta é uma versão superior à estrutura atualmente direcionada ".NETFramework, Version = v4.7".

A solução é alterar a estrutura de destino de um ou outro dos projetos.

michaela112358
fonte
0

Meus sintomas no VS2019 eram que eu iria criar com alguns erros. Depois, eu corrigia os erros e a compilação funcionava, como mostrado na janela Saída. Mas as janelas de erros ainda mostravam os erros antigos. Eu poderia executá-lo muito bem. O fechamento do VS2019 e a reabertura corrigiram o problema, mas apenas por um tempo. Isso começou a acontecer na versão 16.4.3

Esta solução parece funcionar para mim:

Desmarque Ferramentas-> Opção-> Projetos e soluções-> Geral-> Permitir inicialização paralela do projeto

Eu encontrei essa correção enterrada nos comentários aqui: https://developercommunity.visualstudio.com/content/problem/483450/vs-2019-intellisense-reports-compile-errors-when-r.html

Daniel Williams
fonte
-1

Tente passar o mouse sobre os elementos sublinhados. Normalmente, deve dizer qual é o problema. Para ver uma lista de todos os erros / avisos, vá para Exibir => Lista de erros. Uma tabela deve abrir na parte inferior do IDE com todos os erros / avisos listados.

ionutioio
fonte
Existem linhas irregulares nas classes aleatórias, mas não recebo nenhum erro na lista de erros. Além disso, os projetos são construídos perfeitamente. Parece que está relacionado ao Intellisense.
GammaOmega