Erreur: la Référence à des revendications de type il est défini, mais il n'a pas pu être trouvé
J'ai une solution avec 3 projets:
- ParsersBase, qui définissent une interface IParseRule
- ParsersLibrary, qui ont une référence à ParsersBase et de définir une classe HtmlImageUrlParseRule : IParseRule
- ParsersLibraryTest, qui ont une référence à ParsersBase et ParsersLibrary et de définir une classe de test avec certaines méthodes d'essai
Quand je suis en train de le construire, je reçois un avertissement:
De référence de type 'AVSoft.ParsersBase.IParseRule' prétend qu'elle est définie dans 'c:\Users\Tim\Dropbox\projects\Image Downloader\ParsersLibrary\bin\Debug\ParsersLibrary.dll" mais il n'a pas pu être trouvé
Pourquoi VS est d'essayer de trouver AVSoft.ParsersBase.IParseRule
dans ParsersLibrary.dll? ParsersLibraryTest a une référence à ParsersBase, il n'a tout simplement pas de sens.
Vous devez vous connecter pour publier un commentaire.
J'ai eu un problème similaire. Le site a été exécutant une version mise en cache de la dll et pas celui que j'avais déployé dans le répertoire bin. J'ai vidé le temporaire asp.net le contenu du dossier et cela a résolu le problème.
C'était de ma faute, j'ai eu un ParsersLibrary projet au début et puis renommé ParsersBase, mais je n'ai pas renommer le nom d'un assembly, puis j'ai ajouté une ParsersLibrary projet de nouveau.
Ainsi, deux projets ont le même nom de l'assembly et il n'est pas très bon, est-il? 🙂 Les assemblées se chevauchent les uns les autres, donc, j'ai cette erreur.
D'une autre manière ce qui pourrait arriver si vous utilisez plusieurs packages NuGet où, probablement central, le paquet a été mis à jour, mais certaines fonctionnalités supplémentaires paquets n'ont pas été.
De travailler à travers mon exemple récent - l'erreur a été "Référence de type 'ConsumerSubscriptionConfigurator<>" prétend qu'elle est définie dans 'MassTransit", mais il n'a pas pu être trouvé". C'est parce que nous avions mis à jour MassTransit de 2 à 3, mais nous n'avions pas mis à jour certains des autres paquets optionnels (MassTransit.log4net et MassTransit.Autofac) pour le même numéro de version. Il apparaît que si l'assemblée redirection avait gardé tout ce travail jusqu'à ce que nous avons essayé d'utiliser encore une caractéristique supplémentaire.
Cette erreur semble couvrir une variété de scénarios. Dans mon cas, de fermeture et de réouverture de Visual Studio a été le truc. Après le redémarrage de Visual Studio, j'ai été en mesure de construire le projet comme prévu.
J'ai eu le même problème: Référence de type "Func<>" prétend qu'elle est définie dans 'mscorlib", mais il n'a pas pu être trouvé. Le problème était le suivant: ma solution a Framework Cible = 3.5 et j'ai ajouté une référence à Microsoft.Les pratiques.Prisme v 4.0 qui est construit contre le framework 4.0.
Après changement de cible cadre à 4.0, il a travaillé
J'ai frappé cette exception aujourd'hui. Le problème dans mon cas est que j'avais
some.package v2.1
installé dans mon hôte etsome.package v2.3
installés dans d'autres projets.Update-Package
sur le projet hôte àv2.3
résolu le problème.ParsersLibraryTest doit faire référence ParsersBase. La deuxième partie de l'erreur "Vous devez ajouter une référence à l'assembly 'ParsersBase..."
J'ai essayé toutes les réponses ci-dessus, mais aucun n'a résolu mon problème.
En fin de compte, j'ai vérifié dans mon dernier code (GIT), puis recloned le référentiel à un autre emplacement.
Pas l'idéal, mais au moins le problème est résolu.
.vs
,bin
, etobj
dossiers, et la réouverture du projet. Parfois, c'est plus rapide que de traiter avec les re-clonage et à la reconfiguration.J'ai eu le même problème: de Référence de type "Func<>" prétend qu'elle est définie dans 'mscorlib", mais il n'a pas pu être trouvé. J'ai une lib de .Net 4, qui est référencé par un .Net 3.5 programme. Après la mise à niveau à la fois à 4,61 il a travaillé.
Semble
Func<T>
manque dans .Net 3.5 et simplement la mise à niveau d'un échantillon d'application aurait été suffisant.Plus exp: Quelqu'un avait ajouté une signature dans le projet de bibliothèque (.Net 4) qui utilise un
Func<T>
paramètre. Mais l'exemple de programme (3.5) existait déjà et fonctionnait bien jusqu'à présent. Mais au moment de la recompilation d'une dépendance d'une dépendance se sont affrontés. Parce que mscorelib-3.5 avait déjà été chargé. Tout se passe au moment de la compilation.