命名空间类型名称找不到(您是否缺少使用指令或程序集引用?)

4

我有这个类:

using System;
using System.Web.Mvc;
using System.Data;
using BLL;

namespace LicenseManager.Controllers
{
    public class ValidationController : BaseController
    {
        public ActionResult Default()
        {
            return View("Default");
        }

        [HttpPost]
        public JsonResult ClearInstallation(FormCollection form)
        {
            var jr = new JsonResult();
            try
            {
                var licMgr = new BLL.LicManager();
                licMgr.ClearInstall(form["regKey"], form["checkKey"]);

            }
            catch (Exception exc)
            {
                jr = Json(new { success = "false", error = exc.Message });
            }

            return jr;
        }
    }
}

当我尝试重建或调试时,我收到以下错误:The type of namespace name 'BLL' could not be found (are you missing a using directive or an assembly reference?)
我可以看到它被引用了: enter image description here 智能感知正常工作,并且没有任何错误,直到我尝试重建或编译。我知道它存在,并且为智能感知目的找到了它,那么为什么它不允许我重建或编译呢?
我已经尝试过:
- 清空解决方案 - 重新构建 - 清除引用并重新添加
我还能尝试什么?
更新:如果你遇到这个错误,请确保阅读输出。它对我有解决方案。

当引用的项目使用不同的 .net 框架时,我遇到了类似的问题。您确认它们匹配吗?您可以在属性/应用程序/目标框架中验证/更改框架。 - user2639740
它们是不同的,而且它解决了我的问题。如果你把它作为答案发布,我会接受它。 - davids
1个回答

9

当被引用的项目使用不同的.NET框架时,我遇到了类似的问题。确保你所构建的项目和你所引用的项目使用相同的框架。

你可以在属性/应用程序/目标框架中验证/更改框架。


我应该更仔细地调查一下。结果发现输出窗格解释说目标框架不匹配。 - davids
你收到警告了吗? - Lasse V. Karlsen
如果你所说的警告是指列出的错误,那么是的。否则,它只是给出了错误。然而,在输出的详细信息中,它告诉我 BLL 的目标框架与解决方案的目标不匹配。 - davids
我也遇到了Nuget包的这个问题。升级项目的.NET版本并重新安装Nuget包可以解决它。 - Matthew Lock

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接