2014-06-23 7 views
-1

Je reçois, « Le type ou le nom namespace « de INRBQDeliveryRepository » n'a pas pu être trouvée (vous manque une directive à l'aide ou une référence d'assemblage?) » Ici:Pourquoi mon interface n'est-elle pas trouvée?

public class DeliveryController : ApiController 
{ 
    private readonly INRBQDeliveryRepository _deliveryRepository; 

Le type d'interface que je suis en train pour faire référence il y a:

namespace SeaStore.Data.Legacy.Interfaces 
{ 
    public interface INRBQDeliveryRepository 
    . . . 

Ce sont différents projets dans une solution (NRBQ.Web tente d'accéder à ses frères et soeurs, SeaStore.Data.Legacy); ajouter "using SeaStore.Data.Legacy.Interfaces;" à la classe qui empêche la compilation avec l'erreur "introuvable" n'aide pas - en fait, je passe de l'erreur notée ci-dessus à obtenir une erreur d'ajout, plus précisément:

"Le type ou le nom de l'espace de noms 'Data' n'existe pas dans l'espace de noms « SeaStore » (vous manque une référence d'assemblage?) "dans la classe Controller ici:

using SeaStore.Data.Legacy.Interfaces; 

Pourquoi mon interface autre projet non visible?

+8

Avez-vous ajouté une référence de votre interface-projet à votre projet actuel? – Matthijs

+1

Si vous avez des erreurs de compilation dans votre autre projet, vous l'obtiendrez également. Assurez-vous de corriger toutes les autres erreurs. – BentOnCoding

+0

@Nick L'interface est publique dans l'exemple de code répertorié ci-dessus. – BentOnCoding

Répondre

4

Le message d'erreur que vous avez reçu est en quelque sorte auto-explicatif: are you missing an assembly reference.

Il indique qu'il vous manque réellement une référence à un assembly.

Ajouter -> Référence -> Localisez la bibliothèque dans laquelle votre interface est définie et ajoutez la référence.

L'utilisateur devrait se résoudre alors, car il peut maintenant trouver l'espace de noms. Ce qui signifie que vous pouvez utiliser votre interface!

Questions connexes