2017-03-31 11 views
0

こんにちは私はAsp.net MVC5を学ぶためのガイドに従っています。 私は3つのプロジェクトとソリューションを作成しているとNuGetで私はこのライブラリをインストールしている:ASP.net MVCにusingディレクティブまたはアセンブリ参照がありません

Install-Package Ninject -projectname SportsStore.WebUI

Install-Package Ninject.Web.Common -projectname SportsStore.WebUI

Install-Package Ninject.MVC5 -projectname SportsStore.WebUI

Install-Package Ninject -projectname SportsStore.UnitTests

Install-Package Ninject.Web.Common -projectname SportsStore.UnitTests

Install-Package Ninject.MVC5 -projectname SportsStore.UnitTests

Install-Package Moq -projectname SportsStore.WebUI

Install-Package Moq -projectname SportsStore.UnitTests

Install-Package Microsoft.Aspnet.Mvc -projectname SportsStore.Domain

Install-Package Microsoft.Aspnet.Mvc -projectname SportsStore.UnitTests

それから私は、参照を追加していると私は、この持っていた:私はクラスNinjectDependencyResolverに問題がある

enter image description here

を。正確にはメソッドAddBindings()に入ります:

private void AddBindings() { 
     Mock<IProductRepository> mock = new Mock<IProductRepository>(); 
     mock.Setup(m => m.Products).Returns(new List<Product> { 
        new Product { Name = "Football", Price = 25 }, 
        new Product { Name = "Surf board", Price = 179 }, 
        new Product { Name = "Running shoes", Price = 95 } 
        }); 
     kernel.Bind<IProductRepository>().ToConstant(mock.Object); 

    } 

私のクラスの製品を模擬する。私はこのエラーを受け取りました:

missing a using directive or an assembly reference

私はSportsStoreのリファレンスをチェックしましたが、私はリファレンスが既に存在していたことに気付きました。

私が使用してクラスをインポートしようとしている:私はSportsStoreのインテリセンスが私のフォルダ抽象を示唆し入力すると、それゆえ私はSportsStore.Abstractがあったが、私が持っているときにインテリセンス

using SportsStore.Domain.Abstract; 
using SportsStore.Domain.Entities; 

をしかし、さらに、動作しませんでした私は何も示唆していませんでした抽象的な後にドットを入れて、それはintellisenseのようなインターフェイスIProductRepositoryを見つけられなかったようでした。私がSportStore.Entitiesと入力したときも同じことが起こりました。インテリセンスは私にクラス製品を提案していませんでした。なぜですか? なぜ私はエラーがありました:usingディレクティブまたはアセンブリ参照がありませんか?構築したり、プロジェクトを再構築したがうまくいきませんでした、その後

クリーンプロジェクトと:

私が試してみました。

+0

各プロジェクトの名前空間を確認してください – Hackerman

+0

ソリューションをビルドする際のエラーは何ですか? – Legends

+0

どのように私は各プロジェクトの名前空間をチェックしますか? 「IProductRepository」重大\tコード\t説明\tプロジェクト\tファイル\tライン\t抑制状態 エラー\t CS0246 \t型または名前空間名見つかりませんでした(あなたがusingディレクティブまたはアセンブリ参照が不足している?)\t:私はこのエラーを持っていますSportsStore.WebUI \t C:¥Users¥Fra¥Documents¥Visual Studio 2015¥Projects¥SportsStore¥SportsStore.WebUI¥Infrastructure¥NinjectDependencyResolver.cs アクティブ – Fra87

答えて

0

編集:私は問題を解決していました:

フォルダエンティティへのクラスの製品は、公開ではなかったので、私はクラスに入ることができ、変更後、公衆に変更されました。それから、私はInterfaceをpublicフォルダに変更しようとしましたが、他のプロジェクトからクラスにアクセスできないすべてのものにもかかわらず、新しいpublicクラスを作成してから、そのクラスをInterfaceに変更してすべて動作させました。

関連する問題