ASP.net MVC缺少using指令或程序集引用

时间:2017-03-31 15:55:35

标签: c# asp.net-mvc

您好我正在按照指南学习Asp.net MVC5。 我用三个项目创建了解决方案,并且我已经安装了这个库:

  

安装包Ninject -projectname SportsStore.WebUI

     

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

     

安装包Ninject.MVC5 -projectname SportsStore.WebUI

     

安装包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

     

安装包Microsoft.Aspnet.Mvc -projectname SportsStore.Domain

     

安装 - 打包Microsoft.Aspnet.Mvc -projectname   SportsStore.UnitTests

然后我添加了参考资料,我有了这个:

enter image description here

我在NinjectDependencyResolver.cs类中遇到问题,方法是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);

    }

我将我的接口IProductRepository和我的类产品绑定到Mock。我重新发现了这个错误:

  

缺少using指令或程序集引用

我已经检查了SportsStore的参考资料,我注意到参考文献已经存在。

我尝试使用以下方法导入类:

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

但是没有工作,而且当我输入SportsStore intellisense时我建议使用文件夹Abstract,因此我有了SportsStore.Abstract但是当我在删除后放置点时智能感知它并没有建议我什么,它似乎intellisense没有找到Interface IProductRepository。当我输入SportStore.Entities时,同样的事情发生了,intellisense没有建议我产品类产品为什么? 为什么我有错误:缺少using指令或汇编引用?

我试过了:

清理项目,然后构建或重建项目,但没有工作。

2 个答案:

答案 0 :(得分:0)

编辑:我已经解决了问题:

类产品到文件夹实体不是公共的因此我已经改为公开,在改变后我可以进入课堂。然后我试图将Interface更改为文件夹Abstract to Public,但是尽管我无法从其他项目访问类,因此我创建了一个新的公共类,然后我将属性类更改为Interface,现在可以全部工作。

答案 1 :(得分:0)

如果您的项目中有所有参考,请单击。它为我解决了这个问题。 要将引用添加到您的项目,请单击项目->添加->引用,然后在要使用的项目附近有复选框。