26 votes

Comment faire pour résoudre incorrect "" la référence Ambiguë de Resharper sur l'héritage de classe?

Dans mon projet j'ai une classe qui est hérité par de nombreuses autres classes. Nous allons l'appeler ClassBase.

public class ClassInheritFromBase : ClassBase

Lorsque ClassBase est hérité, Resharper déclenche une référence Ambiguë "" avertissement sur la ClassBase, et rien à l'intérieur de la nouvelle classe héritée de ClassBase n'a pas Intellisense et obtient les avertissements qu'elle ne peut pas le trouver.

Le projet se compile et fonctionne parfaitement.

Si je change l'espace de noms ClassBase est puis changer le héritant des classes, ils trouvent qu'il est fine et Resharper a pas de problème, Intellisense fonctionne ... jusqu'à ce qu'il est compilé. Après la compilation, il va revenir pour avoir la référence ambiguë mises en garde et tout le reste.

Quelqu'un a déjà vu ça avant, et savoir comment résoudre ce problème? J'ai vu une entrée dans JetBrains de suivi des bogues pour une question juste comme ça, mais ils ont fermé comme incapables de se reproduire.

15voto

MortenRøgenes Points 430

Pour ceux qui ont encore un problème avec cela, (j'ai encore le faire de temps en temps), voici les étapes que j'ai fait de se débarrasser de l'ambiguïté de la référence d'avertissement dans ReSharper.

  1. D'abord je suis allé à tous mes bibliothèques de classe et fait en sorte que toutes les références à mes autres bibliothèques de classe a de la Copie Locale de propriété est définie sur false.
  2. Dans le projet où j'ai effectivement eu l'ambiguïté de la référence d'avertissement, je suis allé à ma corbeille de catalogue et de supprimer toutes les .dll et .fichiers pdb pour toutes les bibliothèques qui disposent de leur propre projet.
  3. Après une nouvelle construction, ou dans mon cas de mise à jour "de référence" sur la .les fichiers dll dans VS, les erreurs de Resharper ont disparu.

Je suis l'aide de Resharper 5.1 dans Visual Studio 2008 avec seulement une référence à la dll que j'utilise c'est pourquoi j'ai eu de mise à jour "de référence"

5voto

Mike Points 195

Je suis avec VS 2012 et ReSharper 7 et parfois, j'ai trouvé le même comportement. Ce sont ces étapes qui a fonctionné pour moi:

  1. Nettoyer La Solution
  2. Fermez Visual Studio
  3. Aller à la racine du dossier de votre solution et de trouver un dossier appelé _ReSharper.[Nom de votre solution] et de le supprimer.
  4. Revenez à Visual Studio, ouvrez votre solution le dossier soit recréé et pas plus de "" la référence ambiguë des erreurs après cela.

2voto

terjetyl Points 4969

C'est un bug dans resharper 4.1 et est fixé dans l'une des dernières nightly builds

Télécharger la dernière nightly build ici http://www.jetbrains.net/confluence/display/ReSharper/ReSharper+4.0+Nuit+s'appuie

1voto

Henrik Points 4557

Pour moi, c'était une question de moi de ne pas utiliser le dossier de la solution pour les caches. Changement de la TEMP emplacement dans la solution a résolu mon problème.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X