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?
c#
visual-studio
syntax-error
resharper
intellisense
GammaOmega
fonte
fonte
Respostas:
Se você possui o ReSharper, tente esvaziar o cache do ReSharper:
e desativando e reativando o ReSharper:
fonte
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 2ª 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 .
fonte
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.
fonte
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.
fonte
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:
fonte
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.
fonte
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:
e em todos os projetos de referência, os arquivos .csproj eram referências de projeto:
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.fonte
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:
selecione o projeto em questão e clique no 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:
Opção 3: Limpar cache do ReSharper ( opção @GammaOmega )
Se você possui o ReSharper, tente esvaziar o cache do ReSharper:
e desativando e reativando o ReSharper:
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:
E para o Visual Studio 2017:
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:
E recarregá-lo
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.
fonte
Exclua o caminho do arquivo oculto = sua solução \ .vs \ nome da sua solução \ v15 \ .suo
fonte
para o VS-2017, a exclusão da pasta .vs funcionou para mim.
fonte
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:
Isso faz com que o Intellisense analise o arquivo que perdeu ao alternar ramificações.
fonte
A seguinte solução funcionou para mim
1 - Fechar VS
2 - Excluir pasta .vs
3 - VS Aberto
4 - Compilar solução
fonte
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.
fonte
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.
fonte
A exclusão da
.vs
pasta 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.
fonte
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
fonte
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
using
instruçõ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.
fonte
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.
fonte
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:
fonte
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:
fonte
Espero resolver o seu problema
fonte
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.
fonte
Descarregar e recarregar o projeto corrigiu esse problema.
fonte
À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.
fonte
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.fonte
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
fonte
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.
fonte
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 solução é alterar a estrutura de destino de um ou outro dos projetos.
fonte
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
fonte
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.
fonte