No momento, estamos avaliando o novo Visual Studio 2015 e encontramos um problema estranho com o IntelliSense. Quando compilei nossa solução principal com o novo estúdio, a compilação foi bem-sucedida, mas, no entanto, 6 erros são mostrados.
Descobri que não é um erro real, mas apenas um erro de senso comum. O código está definitivamente correto e tudo foi compilado com sucesso. No entanto, o código está marcado em vermelho e os erros aparecem na lista de erros.
Todos os 6 erros têm a mesma origem. É uma simples chamada de construtor. Estranho o suficiente, mas também existem algumas ocorrências do mesmo construtor, sem erros.
A mensagem de erro:
Code: CS1729
Message: '<the class>' does not contain a constructor that takes that many arguments.
Project: <the project name>
File: <the path to the file>
O novo estúdio foi instalado em um Windows 7 recém-instalado, sem nenhum software legado (sem VS13).
Eu já tentei limpar os caches, excluí o arquivo suo, excluí os diretórios bin e obj, limpou e reconstruiu a solução etc. Mas nada funcionou.
Alguém pode me explicar esse comportamento?
Respostas:
Também tive esse problema com um projeto migrado, então eu referenciei a dll Microsoft.CSharp. Em alguns projetos, eu precisei remover e adicionar novamente a Referência no projeto.
fonte
Eu tive milhares de erros do intellisense e 0 erros de construção. Depois de excluir o
.suo
arquivo e reiniciar o VS, os erros do intellisense desaparecem.Suo
O arquivo está localizado relativamente à origem em:.vs\SolutionName\v14\.suo
De acordo com o comentário: Cuidado com o
*.suo
arquivo oculto.Editar: de acordo com os comentários, o VS2017 tem o mesmo problema, para que você possa usar uma solução semelhante: Excluir.
vs\SolutionName\v15\.suo
fonte
*.suo
arquivos podem estar ocultos em alguns casos. Então, você precisa habilitar aView Hidden files
opção do Windows Explorer.<%=Foo%>
dizendo que a variável não é declarada, mas tudo funciona em tempo de execução.Ocorreu um problema semelhante no Visual Studio 2017 ASP.Net Core Project. As etapas a seguir fizeram o truque para mim
fonte
Problema semelhante aos outros, mas com resolução diferente. Postagem caso eu possa ajudar outra pessoa.
Executando o Visual Studio 2017 15.5.2. Eu uso o Git e frequentemente alterno ramos. Várias semanas atrás, comecei a fazer com que os editores me mostrassem erros (todos relacionados a tipos que não foram encontrados, mesmo que as referências fossem válidas). Compilar funcionou muito bem. Confirmei o mesmo problema no VS 2017 15.6 Preview (6 de janeiro de 2018). Eu tentaria excluir cache, arquivos SUO ou pastas bin / obj e sem impacto. A princípio, parecia funcionar. Reabra o Visual Studio e tudo ficaria bem. Use "Rebuild Solution" e os erros do IntelliSense retornariam. Eu até tentei desinstalar / reinstalar o Visual Studio.
Eu tive o mesmo problema em duas máquinas, ambas com a mesma versão do Visual Studio.
Observando os erros sobre tipos ausentes, todos pareciam vir de dois projetos referenciados. Uma dessas referências era um projeto compartilhado usado por quase todos os outros projetos da solução, mas um deles era um projeto pequeno, sem muitas referências. Acontece que o projeto pequeno também foi referenciado pelo meu projeto compartilhado maior. No Visual Studio, descarreguei o pequeno projeto e o recarreguei. Os erros foram embora! Os erros não voltaram no Rebuild Solution.
Troquei as ramificações do Git e todos os erros voltaram. Felizmente, repeti as etapas acima para descarregar / recarregar o projeto pequeno e os erros desapareceram.
Toda vez que troco as ramificações do Git, os erros retornam até que eu repita esse processo. Existem zero alterações entre as ramificações do Git para o projeto menor que eu descarrego / recarrego. Não está claro por que essa sequência está corrigindo meu problema.
fonte
Também teve esse problema (o título, não a mensagem de erro específica), bem como linhas irregulares no editor. A primeira linha ondulada está sob a primeira
#include
instrução, que nomeia um cabeçalho pré-compilado. O Intellisense falha ao incluir o cabeçalho pré-compilado, mas não o lista como erro; em vez disso, lista os erros mais abaixo no arquivo, no código que (com muita razão) depende de declarações no cabeçalho pré-compilado.O motivo pelo qual o Intellisense não encontra o cabeçalho pré-compilado no meu ambiente é que o cabeçalho nomeado não é um arquivo real. Ele não precisa estar em nenhuma outra versão de VC ou gcc que eu usei, nem no compilador de 2015, desde que as configurações de cabeçalho pré-compiladas estejam configuradas corretamente. Aparentemente, não existe mais para o Intellisense. Não tenho certeza se foi diferente em 2013, talvez eu nunca tenha notado.
No caso improvável de que esse seria o problema relatado aqui, a solução é simples: crie um arquivo pequeno com o nome pretendido do cabeçalho pré-compilado, conforme especificado nas
#include
diretivas, e deixe esse arquivo incluir o nome real do cabeçalho pré-compilado.Se você se pergunta ... por que essa distinção entre o nome do cabeçalho pré-compilado na instrução '#include' e o nome do arquivo real do cabeçalho pré-compilado? Precisamente porque garante que as configurações de cabeçalho pré-compiladas estão definidas corretamente. Onde quer que um cabeçalho pré-compilado seja "#included", não há nenhum arquivo ao redor que possa ser incluído. Uma versão realmente pré-compilada (binária) do cabeçalho real é lida ou a compilação falha. Obviamente, uma desvantagem é que confunde as pessoas que leem o código, não apenas o Intellisense.
fonte
Visual Studio 2017 Excluí o arquivo ".suo" do local .vs \ SolutionName \ v15.suo E, em seguida, reiniciei o Visual studio. Isso funcionou para mim.
fonte
Hoje, tive um problema semelhante com o MSVC ++ 2015. Quase desisti e decidi continuar sem dicas de IDE, mas de repente percebi que stdafx.h do projeto com o qual tive problemas não contém cabeçalhos de biblioteca padrão. Especulei que a inclusão de todos os cabeçalhos padrão usados no projeto no stdafx.h pode aumentar a velocidade de compilação, no entanto, isso também corrigiu os erros do Intellisense.
fonte
Eu tive vários
stdfax.h
em diretórios de inclusão adicionais. Verifique se o questdafx.h
você pretendeu é o primeiro no seu caminho.fonte
Eu tive um problema semelhante com diferentes versões do Visual Studio.
Excluir a pasta .suo ou .vs não ajudou em nada.
A solução para mim foi que eu tinha a extensão StopOnFirstBuildError ativa. Depois de desativar "Parar a criação no primeiro erro" no menu compilar, e depois que a solução foi totalmente criada, os erros mostrados pelo Intellisense desapareceram.
fonte
Eu estava vendo os erros de pesquisa inteligente apenas ao publicar um site. (Site ASP / C #, VS 2017). Eles quebraram a publicação. O site funcionou bem localmente.
Limpou os erros desmarcando a configuração para pré-compilar e publicou bem. Publicar -> Configuração -> Opções de publicação de arquivo -> Pré-compilar durante a publicação
fonte
No Visual Studio 2019, o problema está em alterar ramificações com o Git quando há pacotes NuGet instalados no projeto. O que eu fiz para resolver isso:
fonte