Pourquoi dois-je obtenir une icône d'avertissement lorsque j'ajoute une référence à un MEF plugin projet?
Je souhaite tester la classe de base d'un plugin directement par le référencement, le plugin projet et l'instanciation de la classe de plugin. Lorsque je créer un test de la Console de projet d'Application et d'ajouter une référence de projet à le plugin projet, j'obtiens une icône d'avertissement (triangle jaune avec point d'exclamation) en regard de la référence dans la liste des Références.
Quand je au lieu d'ajouter une référence à la dll, l'assemblage de sortie du plugin, je n'ai pas de tel avertissement. Quoi de cet avertissement, essayez de me dire?
- La plupart du temps, triangles auront outil de conseils ou (à défaut) une entrée dans la fenêtre des erreurs. Au jugé, les deux projets incompatibles dépendances.
- Tous les avertissements dans la console lorsque vous essayez de construire?
- Je l'ai vu avec les projets ciblant différentes .net framwork versions
- pourriez-vous sélectionner kad81 réponse comme correcte
- Cela me surprend toujours. L'ajout d'un nouveau projet pour un .NET 4 solution et la valeur par défaut est 4,5.
- Juste cette, et peut confirmer pour moi, c'était l' .Net version du référencement projet, par exemple 4.5 > 4.5.1 dépendante de projet. définir à la fois pour 4.5.1 et tout bon!
- Quelqu'un peut juste m'expliquer pourquoi j'ai une VS 2013 où le projet se compile avec 4.0 dll dans un 4.5 projet, mais quand j'essaie de construire le projet sur mon SV, il me donne cette erreur de référence? Je comprends que les arbitres doivent être de la même version, mais dans certains environnement, il fonctionne, tout simplement
Vous devez vous connecter pour publier un commentaire.
Comme mentionné dans la question, les commentaires, les différences .NET Framework versions entre les projets peuvent être en cause. Vérifiez vos nouvelles propriétés du projet pour s'assurer qu'une autre version par défaut n'est pas utilisé.
Rencontré le même problème avec un ASP.Net Web App et deux de la bibliothèque de projets de classe qui a besoin d'être référencé au sein de l'Application Web. Je n'avais aucune information n'est fournie sur les raisons de la construction échoue et les références n'étaient pas valides.
Solution était de s'assurer que tous les projets avaient la même Cible Cadre:
Dans Visual Studio 2015- Droit Sur projet > Propriétés > Application > Cible Cadre
Enregistrer, Nettoyer et régénérer la solution. Les références de projet ne devrait plus apparaître comme le jaune mises en garde et la solution de la compilation.
Mon Application Web a été ciblage .Net 4.5 tandis que les deux autres dépendant de la bibliothèque de la classe des projets ciblés .Net v4.5.2
Pour les deux (ou tous) les projets que vous souhaitez utiliser:
Clic droit sur le projet > Propriétés > Application > Cible .NET framework
Assurez-vous que les deux (ou tous) de vos projets à l'aide de la même .NET framework version.
un. Allez dans Outils > Gestionnaire de Package Nuget > Gestionnaire de paquets Type de Console Update-Package -Réinstaller (si vous ne travaillez pas procéder à 2.b)
b. Supprimer < Cible > Peut-être avec plusieurs lignes < /Target > se trouve généralement à la partie inférieure de l' .csproj.
D'enregistrer, de charger et de construire la solution.
Réinstaller tous les paquets dans tous les projets de la solution actuelle:
Assurez-vous que vous avez la projets ciblant le même framework version. La plupart du temps, la raison en serait que le projet actuel ( où vous êtes ajoutant une référence d'un autre projet ) points pour un différents .net framework version que le repos ceux.
Vérifier NETFramework de la dll & le Projet dans lequel vous souhaitez ajouter la DLL.
Ex:
DLL ==> supportedRuntime version="v4.0"
Projet ==> supportedRuntime version="v3.0"
Vous obtiendrez icône d'avertissement.
Solution : créer une dll de la version de consistance à travers.
Il a été un long temps depuis que cette question a été posée, mais si quelqu'un est intéressé toujours - j'ai récemment rencontré dans les mêmes icônes. J'ai été la compilation d'un C#.net projet à l'aide de VS 2008. J'ai trouvé VS n'a pas pu localiser les assemblées pour ces références. Quand je double-clique VS actualisation des références et supprimé les icônes sur certains de ces[EDIT: qui il pouvait MAINTENANT rechercher]. Pour les autres références, j'ai dû compiler les assemblées concernées.
Pour moi, je n'ai rencontré ce problème lorsque le référencement d'un .NET Standard 2.0 bibliothèque de classe dans un .NET Framework 4.7.1 application console. Oui, les cadres sont différents, mais ils sont compatibles (.NET Standard est censé jive avec les deux .NET de Base et .NET Framework.) J'ai essayé de nettoyer, la reconstruction, en supprimant et réinstallant le projet de référence, etc... sans succès. Enfin, quitter Visual Studio et la réouverture résolu le problème.
L'ajout de mes 2 cents à la @kad81 réponse,
Aller à Visual Studio -> BUILD -> Gestionnaire de Configuration
Dans la "Solution Active" Plate-forme de liste déroulante dans le coin en haut à droite (le mien est VS 2012), si c'est le "mélange de plates-formes", de le modifier à la plate-forme appropriée en fonction de votre référence de tiers assemblées.
Puis dans chaque projet dans la liste, assurez-vous de sélectionner une même plate-forme pour l'ensemble du projet. (si x86 n'existe pas, puis sélectionner "", puis vous pouvez sélectionner "x86".)
Reconstruire la bibliothèque de projets en premier et ensuite le référencement des projets.
Espérons que cette aide.
Dans Asp.net de base parfois, il montre d'alerte si vous modifie le projet de l'espace de nom ou de nom. Pour supprimer ce type d'alertes que vous venez de Décharger le Projet et de le charger à nouveau.
Si le problème est toujours là signifie que vous ne peut pas trouver votre référence d'Assembly.
J'ai eu l'une de ces icônes pour une raison différente. Nous avons une grande solution pour tous nos projets (près de 100). J'ai fait une sous-sélection de projets que j'ai été intéressé et fait une nouvelle solution. Toutefois, les références où les références de projet plutôt que de références à la dll compilée....
Après quelques recherches, j'ai trouvé ce lien sur GitHub qui explique c'est un nouveau comportement dans VS2015.
Sur la page GitHub, expliquent-ils une solution pour la conversion de références de projet binaire références.
Pour corriger quelques pas de travail stuff il n'a de sens pour supprimer certaines bibliothèques, parfois, comment ne pas que le son bizarre.
De toute façon, je crois le problème est trop vaste et pourrait être causée par différents facteurs, tellement envie de partager ma situation/solution.
J'avais un projet (apporté par le client) avec Xamarin Forms et Telerik bibliothèques. La chose est en général liée à des composantes, qui les bibliothèques ne sont pas inclus dans le dossier packages, ni disponible via Nuget (payant).
L'ensemble des Références de projet ont été "jaune", il avait l'air horrible et effrayant.
La solution était juste pour supprimer ceux Telerik références (y compris les quelques contrôles dans le code qui ont été à l'aide de qui). Juste après que toutes les références comme par magie obtenu leur commune normale couleur gris et les erreurs (pour la plupart) ont disparu.
"La plupart" - parce que "tout rouge autour des messages d'erreur" à propos de "l'élément n'est pas défini n'importe où" parfois il arrive encore. C'est bizarre, et apporte des inconvénients, mais j'ai toujours réussi à compiler et exécuter le projet(s): juste besoin de nettoyer la solution, redémarrez Visual Studio, prier un peu, nettoyer à nouveau, retirez obj/bin dossiers, redémarrez à nouveau, et il fonctionne bien.
La clé, c'est retirez pas disponible bibliothèques de références, comme les messages d'erreur de dire tout à fait autre choses. (Par exemple, quelque chose comme "Xamarin.Construire.Le téléchargement.XamarinDownloadArchives ne trouve pas ou ne peut pas trouver quelque chose", etc., mais qui pourrait dire que vous n'avez pas de références disponibles.
Puis supprimer les paquets dossier, reload/rouvrir le projet/solution, aller dans "Gérer les Packages Nuget" et cliquer sur le bouton "Restaurer".
Essayer d'ouverture et de fermeture de VS.
Semble idiot, mais après 1 heure de la suite ci-dessus et de trouver tout ce dont alignés sur OK. J'ai redémarré VS 2017 et les problèmes ont disparu.
J'ai aussi été confronté au même problème, mais mon cas était un peu différentes de celles mentionnées ci-dessus. J'ai essayé d'ouvrir un projet créé dans un autre ordinateur. J'ai trouvé que le chemin d'accès au dossier du package n'est pas mis à jour lorsque vous ajoutez une référence pour le redémarrage de VS, en train de changer .Version NET, ou de toute recommandation ne permet pas de résoudre le problème. J'ai ouvert le fichier csproj dans notepad++ et corrigé tous les chemins d'accès relatifs au dossier packages. Ensuite, toutes les mises en garde sont partis. Espérons que cela aide.