C# Asp.Net Mvc:无法从我的视图访问我的模型命名空间

C# Asp.Net Mvc:无法从我的视图访问我的模型命名空间,c#,.net,asp.net,asp.net-mvc-2,namespaces,C#,.net,Asp.net,Asp.net Mvc 2,Namespaces,因此,我在Mvc项目的“models”文件夹中有一个名称空间为“Web.models”(我的Mvc项目称为“Web”)的ViewModel。我认为值得一提的是,我的解决方案中还有3个项目:域、测试和任务。视图模型是从my Domain.Entities文件夹中的类分配的属性。在控制器中添加名称空间时,我可以在控制器中创建viewmodel的新实例 using Web.Models; 但是,当我创建视图时,它似乎无法导入名称空间。它实际上会提示我通过“alt+enter”或“ctrl+dot”添

因此,我在Mvc项目的“models”文件夹中有一个名称空间为“Web.models”(我的Mvc项目称为“Web”)的ViewModel。我认为值得一提的是,我的解决方案中还有3个项目:域、测试和任务。视图模型是从my Domain.Entities文件夹中的类分配的属性。在控制器中添加名称空间时,我可以在控制器中创建viewmodel的新实例

using Web.Models;
但是,当我创建视图时,它似乎无法导入名称空间。它实际上会提示我通过“alt+enter”或“ctrl+dot”添加名称空间,但它仍然表示无法解析对象

<%@ Page Title="" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<Web.Models.MyViewModel>" %>

我还尝试在Web.config中向名称空间添加全局引用,但没有成功。
有什么建议吗

首先,编译你的应用程序,然后确保MyViewModel是公共的。

你可以将它添加到你的web.config中的
system.web/pages/namespaces
下。例如:

...
<namespaces>
    ...
    <add namespace="Web.Models"/>
</namespaces>
...
。。。
...
...

发现这与我的ReSharper版本有关,我更新到5.1,它解决了我猜是某种“缓存错误”的问题。

已经编译了好几次,并且是公开的。它“应该”可以工作。尝试在视图本身中添加显式include语句:我也尝试过。我在解决方案中有4个项目,我想知道我是否在这方面遗漏了一些东西。视图与模型在不同的项目中吗?是否在项目之间添加了项目引用?(现在抓着救命稻草!)我知道这很奇怪。。。。真正奇怪的是类在控制器中可用,但在视图中不可用。我可以让它工作,我已经将名称空间更改为system.web.mvc,并将其移到我的域项目中,并将名称空间更改为domain.models。我想这更令人烦恼(真的很奇怪,以前从未发生在我身上)。这就是我创建“全局”名称空间时所指的,但它被添加到我的Web名称空间中。Confing救了我的命!非常感谢!我清除了Resharper的缓存,所以这也是我的问题。我最近将视图模型名称空间移动到web配置中,但它不喜欢。