实体名称空间未出现在Silverlight项目中

时间:2015-01-27 02:26:31

标签: silverlight mvvm namespaces models ria

我有一个Silverlight Web项目,我应用MVVM模式。在我的整个解决方案中,我有4个项目。

Project" A3",其中包含我的所有视图和ViewModel。

Project" A3.Web",包含我的主要html文件,图像,声音文件等。

Project" A3Lib",其中包含我创建的XAML绑定转换器和其他有用的类。

Project" A3Lib.Web",包含数据模型和域逻辑。

我的所有实体模型都在我的DataModels文件夹中,并且我的所有域服务服务器端代码都在DomainLogic文件夹中。我在DataModels文件夹中创建了一个名为" Common"。

的新文件夹

因此,当我想将数据模型添加到我的VM时,我尝试了#34;使用A3Lib.Web.DataModels.Common;"并且没有找到命名空间。

问题:当我将新文件夹和新实体模型添加到DataModels文件夹时,我看不到我的View或ViewModel中的命名空间在" A3"项目

但是,我已经有了现有代码(由其他人添加),他添加的模型显示完全正常(在View或VM中使用......时)。

我检查了web.config以确保连接字符串在那里并且它是正确的。我还尝试向项目的基类(其他上下文所在的位置)添加一个全新的上下文,但这并没有帮助。我的项目根本无法解析或查看我创建的数据模型命名空间。

由于

由良

1 个答案:

答案 0 :(得分:1)

Silverlight应用程序通过生成的代码查看服务器端项目中的模型和命名空间 - 您应该在A3Lib项目的Generated_Code文件夹中看到它。如果不存在,则不会在构建时生成代理类。有几件事需要检查:

  1. 上课不是私人的(嘿 - 有时候这很简单)
  2. 如果使用域服务,该服务需要至少有一个返回IQueryable或IEnumerable的方法(即使方法返回null),以便在Silverlight端domaincontext中查看该类
  3. 如果该类只是您要与客户端共享的实用程序类,请将该文件另存为classname.shared.cs,代理将对其进行选取。
  4. 确保项目引用是针对项目的,而不是(可能是较旧的).dll位于其他位置。
  5. 根据提供的信息,这就是我所拥有的一切。