类型或命名空间名称'模型'在命名空间中不存在PartyInvites'

时间:2014-04-09 17:17:32

标签: c# asp.net-mvc tfs asp.net-mvc-5

使用VS2013 Pro,TFS 2013 Express

我目前正在从asp.net mvc 5这本书做一个教程,一切都很好。 昨天我将TFS 2013 Express安装到我的本地机器上,将项目复制到TFS文件夹并将项目添加到源代码管理中。

因为这样做我现在得到像主题一样的错误。在这种情况下,控制器只需使用:

using System.Web;
using System.Web.Mvc;
using PartyInvites.**Models**;

namespace PartyInvites.Controllers
{
    public class HomeController : Controller
    {
        // GET: Home
        //public ActionResult Index()
        //{
        //  return View();
        //}

        public ViewResult Index()
        {
            int hour = DateTime.Now.Hour;
            ViewBag.Greeting = hour < 12 ? "Good Morning" : "Good Afternoon";
            return View();
        }

        [HttpGet]
        public ViewResult RsvpForm()
        {
            return View();
        }

        [HttpPost]
        public ViewResult RsvpForm(**GuestResponse** guestResponse)
        {
            //todo: Email response to the party organizer
            return View("Thanks", guestResponse);
        }
    }
}

在HttpPost中,对象&#34; GuestResponse&#34;是红线所在的位置,但此对象位于模型名称空间等中。 EDIT 红线也在单词&#34; Models&#34;在顶部的使用声明中。

现在我注意到,如果我从解决方案文件夹中删除SUO文件并打开解决方案,则错误消失,但是一旦我保存解决方案并重新打开它,错误就会恢复。我也注意到同样的问题是我认识的其他几个项目。

另外 - 当我构建他们构建的解决方案时没有错误,但红线仍然存在。

我认为问题出在SUO文件和TFS上,因为解决方案在None TFS版本中运行得非常好,但我找不到SUO和TFS的解决方案。我是PC的唯一用户,拥有完全的管理权限。

问)有谁知道如何解决这个问题所以我不必一直删除SUO文件?

编辑1

using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace PartyInvites.Models
{
    public class GuestResponse
    {
        public string Name { get; set; }
        public string Email { get; set; }
        public string Phone { get; set; }
        public bool? WillAttend { get; set; }
    }
}

编辑2

我现在尝试使用FILE&gt; SourceControl&gt;将源代码控制从源代码控制更改为Unbind,它现在按预期工作......但它现在不在源代码管理中。我认为现在这个问题与TFS有关。 - 更新。将其重新绑定回TFS后,问题就会重新出现。

5 个答案:

答案 0 :(得分:2)

我终于找到了一个有效的答案。这是导致问题的VS2013中的一个错误,下面是与答案的链接。

但简而言之,关闭“在解决方案或项目打开时获取所有内容”解决了问题,虽然不是一个完整的解决方案,但对我来说它解决了问题

http://connect.microsoft.com/VisualStudio/feedback/details/760443/visual-studio-2012-ide-loses-intellisense-and-reference-resolution

希望这有助于其他人。

答案 1 :(得分:1)

我得到了同样的错误,我通过注意到我新添加的模型名称是 abc.Models 而我的应用程序名称是 xyz 并且所有其他模型谎言在 xyz 命名空间中,所以我编辑了故障排除模型,并将其命名空间更改为 xyz.Models ,这有效:)

答案 2 :(得分:0)

My Models命名空间对我来说是试图在APPNameSpace.APPNameSpace.Models下运行Enable-Migrations将类构建为APPNameSpace.Models所以我从每个类的开头删除了APPNameSpace并且它有效。

答案 3 :(得分:0)

老问题,但是我在.Net Core 3.1项目中也遇到了同样的问题。对我来说,在_viewimports.cshtml中导入是错误的:

@using MyProject.Domain.Model
@using MyProject.Domain.Common /* -- My bad namespace here -- */
@using MyProject.Web.Configuration
@using MyProject.Web.Areas.Shared.Utils
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers

答案 4 :(得分:0)

我有同样的问题。因为我将模型文件夹移动到了新创建的类库项目中。当我检查viewimport文件时,有模型文件夹的旧路径。我更新了路径,然后解决了。