C# “正在使用”未检测命名空间已检查客户端配置文件

C# “正在使用”未检测命名空间已检查客户端配置文件,c#,using,C#,Using,我在Visual Sudio 2010中有一个由三个项目组成的C解决方案。一个是X.Domain类库,第二个是X.UnitTest,第三个是X.webuimvc3。我在使用语句引用X.Domain名称空间时遇到问题,无法使用X.WebUI名称空间。我认为这是一个客户端分析问题,并验证了所有使用.NETFramework4作为目标框架的项目。我检查以确保X.WebUI的项目依赖项包含namesapce X.Domain。我得到的确切错误是: 如果缺少程序集引用,则命名空间“X”中不存在类型或命名空

我在Visual Sudio 2010中有一个由三个项目组成的C解决方案。一个是X.Domain类库,第二个是X.UnitTest,第三个是X.webuimvc3。我在使用语句引用X.Domain名称空间时遇到问题,无法使用X.WebUI名称空间。我认为这是一个客户端分析问题,并验证了所有使用.NETFramework4作为目标框架的项目。我检查以确保X.WebUI的项目依赖项包含namesapce X.Domain。我得到的确切错误是: 如果缺少程序集引用,则命名空间“X”中不存在类型或命名空间名称“Domain”。我试图从X.Domain.Abstract中使用的接口出错:找不到类型或命名空间名称“IPersonRepository”是否缺少using指令或程序集引用

在X.Domain名称空间/项目中,有公共方法,所以我不确定为什么它没有公开。我在stackoverflow上查看了这些链接,但它们没有解决问题, ,

值得一提的是,有人在这里发帖说,它可能与丢失的配置的global.asax文件有关 在那个链接中,但我不确定。可能是这样,所以我也发布了我的Global.asax文件。当我试图用ninject MVC3创建我的“PersonController”时,我注意到了这个问题,我使用了Remo.gloo的blog来帮助我创建这里发布的Global.asax文件,并在Pro ASP.NET MVC3框架手册的p.164中添加了一些代码来创建控制器

PersonController.cs

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using KLTMCInsight.Domain.Abstract;


namespace KLTMCInsight.WebUI.Controllers
{
    public class PersonController : Controller
    {
        private readonly IPersonRepository repository;

        public PersonController(IPersonRepository personRepository)
        {
            repository = personRepository;
        }
    }
}
Global.asax

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using System.Web.Routing;
using System.Reflection;
using Ninject;
using Ninject.Modules;
using Ninject.Web.Mvc;

namespace KLTMCInsight.WebUI
{

    public class MvcApplication : NinjectHttpApplication
    {
        public static void RegisterGlobalFilters(GlobalFilterCollection filters)
        {
            filters.Add(new HandleErrorAttribute());
        }

        public static void RegisterRoutes(RouteCollection routes)
        {
            routes.IgnoreRoute("{resource}.axd/{*pathInfo}");

            routes.MapRoute(
                "Default", // Route name
                "{controller}/{action}/{id}", // URL with parameters
                    new { controller = "Home", action = "Index", id = UrlParameter.Optional    }
            );

        }

        protected override IKernel CreateKernel()
        {
            var kernel = new StandardKernel();
            kernel.Load(Assembly.GetExecutingAssembly());
            return kernel;
        }


        protected override void OnApplicationStarted()
        {
            base.OnApplicationStarted();

            AreaRegistration.RegisterAllAreas();
            RegisterGlobalFilters(GlobalFilters.Filters);
            RegisterRoutes(RouteTable.Routes);
        }
    }
}
如果我错过了你需要的东西,我会非常乐意把它贴出来。再次感谢您的帮助-非常感谢。

以下是解决方案:


我使用了“项目”文件菜单下列出的“项目依赖项”框来选择X.WebUI项目的依赖项。即使在它上面,我选中了X.WebUI项目依赖于X.Domain项目的复选框。。。该引用从未由VS2010创建。要解决这个问题,只需手动右键单击X.WebUI下的References文件夹,然后通过该窗口将引用添加到X.Domain即可。已添加参考,问题已解决。不确定为什么引用不是从“项目依赖项”框中开始的,但是如果有人遇到同样的问题,这应该提醒您检查引用是否确实存在。

我想我没有看到更长的线程。是的。。。对不起,我想说得太透彻了。可能太多了?你有没有试过从X.WebUI中删除对X.Domain的引用,清理和重建两个项目,然后将X.Domain引用重新添加回X.WebUI?@T.K.Cardozo我只是开玩笑!很高兴你提供了所有的信息,自己找到了答案。@Kev Ritchie是的,事实上,在那之后,我建立了解决方案的新镜像,并注意到问题仍在发生。那时我意识到这一定是我遗漏的东西——因为它不会影响我以前的项目。在解决方案资源管理器和Doh中检查项目引用!不过,感谢您的帮助: