Question

Mon projet fait référence à un ensemble (il appellera X) qui référence un autre ensemble (va appeler Y).

Quand je tente de compiler mon projet, il exige qu'il doit faire référence à l'ensemble Y. Pourquoi est-ce? Je reçois l'erreur suivante sur la ligne où l'ensemble X est référencé:

  

Le type « DevExpress.XtraEditors.XtraForm » est définie dans un assemblage   non référencée. Vous devez ajouter une référence à l'assemblage   « DevExpress.Utils.v9.1, Version = 9.1.2.0, Culture = neutral,   PublicKeyToken = b88d1754d700e49a ».

DevExpress.XtraEditors.XtraForm est l'ensemble Y.

Pourquoi est-ce? Je ne l'ai pas vu ce comportement avant.

Était-ce utile?

La solution

Cela a toujours été en place. Vous n'obtenir ces au moment de la compilation si vous utilisez un objet qui obtient les méthodes / propriétés / etc membres de l'assemblage Y.

Le pourquoi est parce que .NET ne peut pas compter sur l'assemblage X pour assurer qu'il sera en mesure d'obtenir le symbole approprié et des informations méta-données.

Autres conseils

Cela a toujours été le comportement Sinon, comment le compilateur construire votre projet si elle ne dispose pas d'une référence à toutes les dépendances?

Les assemblages qui sont référencés par votre projet sont nécessaires pour travailler votre application. Vous utilisez des types de ces ensembles et sans ces types votre demande ne peut pas construire. Plus important encore sans ces types votre application ne peut pas fonctionner.

Maintenant, considérons que chaque assemblée que vous faites référence a été construit de la même manière que votre assemblage, et que tous les ses ensembles référencés soient présents et comptabilisés. Cela ne crée une réaction en chaîne qui peut être gênant, mais le résultat final est qu'une fois que vous exécutez votre application, le CLR a tous les ensembles dont il a besoin pour exécuter votre application.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top