Como fazer com que o ReSharper reavalie seu destaque de referência de montagem

184

Estou criando um modelo de projeto Prism, e o modelo funciona muito bem. Mas, depois de criar um projeto com o modelo, alguns dos arquivos ficam assim:

Referências ruins

Apesar das aparências, está tudo bem.

Se eu fizer um Rebuild All , vejo que a solução é criada sem erros:

Reconstruído

Mas a reconstrução de tudo não se livra dos "erros" que estão sendo mostrados na janela do editor. (Observe que a janela de erro real não mostra nenhum erro.)

Posso limpar, reconstruir, fechar e abrir arquivos, e isso não corrigirá o realce.

No entanto, se eu fechar a solução e reabri-la, tudo estará bem :

Trabalhos após recarregar

Minha pergunta:

Idealmente, haveria uma maneira de meu modelo ou meu IWizard dizer ao ReSharper para recarregar as referências para o realce.

Sei que posso desligar o ReSharper e ligá- lo novamente, e isso vai corrigi-lo, mas prefiro não fazer isso.

Existe um comando ReSharper que apenas atualiza essas coisas?

Vaccano
fonte
Você está usando o ReSharper?
John Saunders
@JohnSaunders - yes, 5.1
Vaccano 21/03
Eu já vi o ReSharper fazer isso, por isso pode ser um bug do ReSharper, não um bug do VS. Eu vi recentemente isso na versão 6.1.
John Saunders
@ JohnSaunders - Confirmei que este é um problema do ReSharper. Editei minha pergunta para redirecioná-la para o ReSharper. Obrigado por me apontar na direção certa!
Vaccano 21/03/12
Quais versões do Prism, WPF / SL / WinPhone você está usando no seu projeto?
Jura Gorohovsky 22/03

Respostas:

216

Exceto pela reinstalação, a única maneira de limpar com êxito os caches é excluir os arquivos manualmente do diretório AppData.

Exclua a pasta da solução que está causando dor nos seguintes locais:

  • %LOCALAPPDATA%\JetBrains\ReSharper\v7.1\SolutionCaches\
  • %LOCALAPPDATA%\JetBrains\Transient\ReSharperPlatformVsXX\vXX\SolutionCaches\ para versões mais recentes.

Observe que os números de versão nos caminhos podem ser diferentes, dependendo da versão do ReSharper instalada.

O XXin vXXe VsXXrepresenta qualquer número, porque pode haver várias pastas nas quais o cache da solução está armazenado.

iggymoran
fonte
8
Esse caminho pode ser diferente dependendo da configuração do Caches. (Consulte Resharper> Opções> Geral)
Nameless One
1
Suficiente Fair - mas definitivamente corrige o problema que você está enfrentando (e não apenas você ...)
Peter Munnings
2
A resposta está correta. Feche todas as suas instâncias do visual studio, exclua% LOCALAPPDATA% \ JetBrains \ ReSharper \ [ versão de instalação]] \ SolutionCaches.
Houman
3
@ Joel no ReSharper 9, com a introdução da Plataforma ReSharper, ele foi movido para %localappdata%\JetBrains\Transient\ReSharperPlatformVs12\v01\SolutionCaches(como @brgerner menciona , você pode querer clique no Limpar Caches botão primeiro antes de ir esta rota)
bdukes
7
Você pode usar o Resharper -> Geral -> Limpar caches para limpar os caches, independentemente do seu local de cache. Você precisará reiniciar o Visual Studio depois de limpar o cache
Christopher Haws
98

Tente descarregar e recarregar o projeto.

Para descarregar o projeto, clique com o botão direito do mouse no projeto no Solution Explorer e selecione Unload Project. Em seguida, clique com o botão direito do mouse no projeto novamente e selecioneReload Project .

O problema continua ocorrendo ocasionalmente com as versões mais recentes do ReSharper, mas a correção parece funcionar para todas as versões.

zastrowm
fonte
Parece que a recarga faz com que o novo afiador volte a varrer. Isso me parece mais fácil do que procurar caches no explorador de arquivos.
Test
69

Você pode tentar limpar o cache do ReSharper através do menu ReSharperOpçõesAmbiente / Geral → botão Clear Caches.

Brgerner
fonte
1
Infelizmente, ele ainda não o corrigiu ... Obrigado pela ideia.
Vaccano 23/03
23
Depois disso, você precisa reiniciar o visual studio. Então vai funcionar.
Felix C
3
Não funcionou para mim, mesmo depois de reiniciar o visual studio. Obrigado no entanto.
Matt
Aconteceu comigo depois de fazer o downgrade de um pacote nuget e, em seguida, atualizar novamente. Utilizou esta dica para corrigir.
Guillaume Perrot
Funciona melhor se você fechar o visual studio e, em seguida, msbuild yourSolution.sln / t: clean, limpe todos os caches de novo compartilhamento, salve e reabra sua solução.
John-Philip
14

Isso funcionou para mim. Não há necessidade de recarregar projetos. Você pode fazer isso de dentro do Visual Studio.

  1. Limpe o cache do ReSharper via ReSharper , Opções , Geral , clique em ' Limpar caches '.

    Opções de novo compartilhamento

    Limpar novamente caches

  2. No ReSharper , Windows , selecione ' Erros da solução '. Isso iniciará a janela Erros de solução. Na parte superior desta janela, clique no botão para ' Reanalisar arquivos com erros / avisos '.

    ResharperWindows

    Reanalisar arquivos com erros

Donal
fonte
1
Trabalhou com o R # 10.0.2, sem precisar reiniciar o VS.
Seb T.
1
Isso funcionou para mim, embora eu tenha que reiniciar o VS
Rory McCrossan
6

Abra o ReSharper - Opções - Ambiente - Geral , role para baixo até Acesso ao Msbuild e selecione Obter dados do msbuild após cada compilação .

Isso funcionou para mim, usando o ReSharper 10.0.1 com ReSharper Build.

Winetradr
fonte
Também limpei a solução e a reconstruí. Então eu posso voltar para o acesso anterior MSBUILD quando ele está trabalhando
ZnN
5

Vá para ReSharper → WindowsJanela Erros de solução e obterá uma visão geral dos erros em sua solução. Lá, você pode clicar no botãoReanalyze Files With Errors .

Se desejar, você pode atribuir um atalho para isso. Vá para FerramentasOpçõesTeclado e procure por "Reanalisar". Você pode atribuir um atalho de teclado para 'ReSharper_ErrorsView_ReanalyzeAllFiles' ou 'ReSharper_ErrorsView_ReanalyzeFilesWithErrors'.

Peter
fonte
1
Estou enfrentando um problema semelhante, e ele não corrige.
Tilak
Eu também cansei isso também. Não resolveu o problema. O compartilhador ainda marcou erros, mas tudo foi compilado corretamente. Descarregar e recarregar o projeto é a única solução alternativa que posso encontrar. (Embora me disseram que seja corrigido na versão mais recente do ReSharper)
Vaccano
Muito útil! Eu tive o mesmo problema com o VS 2019 e o Resharper 2019.3, mas na verdade não era um problema. O fato de o projeto ser construído não significa que o Resharper não encontre erros. No meu caso, houve alguns erros em alguns arquivos de teste xml no meu projeto NUnit. Esta solução encontrou rapidamente os arquivos
shelbypereira
3

Eu tenho um problema semelhante com os pacotes nuget e achei uma solução alternativa mais estranha: selecione a referência na lista de referências do projeto e pressione 'F4'. De alguma forma, a aparência da janela de propriedades faz com que o reaperador reavalie as referências disponíveis ...

irônico
fonte
1
Não tive sorte com todas as dicas de "cache limpo". Então eu tentei isso e quase ajudou. Minha solução alternativa foi: Encontre o projeto com o problema - abra as referências - selecione a referência que foi sinalizada como desconhecida pelo R # - Pressione F4 - altere algo nas propriedades, como "copiar local de verdadeiro para falso, depois voltar para verdadeiro"
Chrigl
Eu tive uma correção semelhante. Eu tive que remover a referência do meu projeto e adicioná-la novamente. Nenhuma das outras soluções funcionou para mim.
CodeHxr
2

Não sei se essa é a mesma causa raiz, mas descobri que, nas opções do ReSharper, "Usar MsBuild" foi verificada e recebi todos os tipos de erros errados. Tente verificar "ReSharper-> Opções-> Geral" e veja em que estado está a verificação "Usar MsBuild".

Marstov
fonte
2

Vá para ReSharper → OpçõesGeral e clique emClear Caches . (Eu tenho 8.2, então se você estiver em uma versão diferente, pode estar em outro lugar.)

Você precisará reabrir sua solução e o ReSharper re-analisará tudo.

BJury
fonte
Trabalhou para mim, obrigado. Eu tinha muitos projetos em minha solução e não queria descarregar / recarregar todos eles um por um: p Não sei por que você recebeu um voto negativo.
Karl Patrik Johansson
1

Execute o seguinte código em um prompt de comando. Em seguida, resolva o problema do ReSharper ...

del /q/f/s %TEMP%\*
Muhammed Eassa PN
fonte
0

A única coisa que me ajudou foi: Desinstalar e instalar o Resharper novamente (o reparo não funcionou)

Visual Studio 2010 SP1, ReSharper 7.1.3000.2254

Lu55
fonte
0

Esse é um problema estranho e ainda está ativo e bom na versão 8.2.3 (compilação 8.2.3000.5176).

O que parece funcionar para mim em uma base consistente é fazer uma reconstrução da solução.

No VS 2013: Build -> Rebuild Solution

Andacious
fonte
0

Se as soluções acima não funcionarem, tente redefinir o tipo de saída do projeto. Isso parece corrigir o problema na atualização 1 do VS2015 com o ReSharper 10.1

Svenkle
fonte
0

Para mim, nenhuma das opções acima funcionou. Eu tive que instalar a nova versão do Resharper, que suporta o NET Core 2.0.

Tommy Ivarsson
fonte
0

O novo compartilhador estava relatando uma referência ausente de um projeto que foi incluído nas referências. Depois de tentar as outras soluções aqui, desabilitei o Resharper pelas instruções desta resposta e descobri que o intellisense do Visual Studio ainda relatava os mesmos erros.

Nesse ponto, percebi que provavelmente havia algo errado com o arquivo do projeto. Suspeitei que uma referência tivesse sido sutilmente corrompida durante uma mesclagem. 1

Excluí a referência que estava reclamando e não a encontrei e a adicionei novamente. Os erros do Visual Studio desapareceram. Em seguida, reativei o Resharper e ele não estava mais reclamando de erros no meu projeto.


  1. Quando verifiquei para ver o que havia mudado no arquivo csproj, o que encontrei foi um extra </Compile>que não possuía tag aberta correspondente. Portanto, foi realmente um erro de mesclagem.
Charlie Kilian
fonte