【发布时间】:2012-04-05 10:34:35
【问题描述】:
好的,所以我对以下数据的情况有点困惑。
我们的应用程序中有以下结构:
- Portal.Web - 一个 MVC 3 Web 应用程序,它基本上包含所有 视图、脚本、css 和 HTML 辅助扩展方法
- Portal.Core - 一个基本上是我们的业务对象的类库,我们的所有模型都包含在这个项目中。
- Portal.Data - 另一个包含 NHibernate 配置和 DTO 类的类库。
这是我们的用法:在控制器中,我们调用位于 Portal.Core 中的模型,该模型通过调用 Portal.Data 进行填充,因此基本上 Web 永远看不到数据。
这里有一个问题:例如,在控制器中,我尝试像这样实例化一个名为 Client 的新 DTO 对象:
var client = new Client();
它不起作用,预计它不知道 Client 是什么,甚至指定一个 using 也不会削减它。没关系。
但是如果我尝试在视图中执行完全相同的行,Resharper 会将 using 添加到视图中,然后没有任何投诉,项目运行,我们可以在视图中使用 DTO 类。
所以问题是,这是为什么呢?我试图阻止我们的小辈在 Views 中使用 DTO 类,所以我特意删除了对 Web 中 Data 项目的引用,但他们仍然可以使用这些类。有人能解释一下吗?
【问题讨论】:
-
resharper 是否也添加了参考?
-
不,如果我用命名空间完全限定类型并且没有 resharper 的帮助,这只是一个红鲱鱼,不幸的是它仍然有效。
-
那我明白你的困惑了!
标签: c# .net asp.net-mvc asp.net-mvc-3 razor