1

我正在开发一个 asp.net 应用程序。我有一个域程序集(主要包含命令和查询代码)、一个 Domain.Contract 程序集(主要包含域对象)、一个存储库(由域调用)和网站。

对于某些特定的后台需求,我想创建一个 Lightswitch 应用程序。我想使用我当前的域作为数据源。我添加了一个 WCF Ria Service 类库,并在 RiaService.Web 项目中添加了一个基于 DomainService 的类,具有一个查询方法。仅此而已(没有实体,因为它们在我的 Domain.Contract 程序集中)

使用此处的帮助(感谢 Michael W),我能够添加数据源,并将我的域对象识别为灯开关中的实体。

但是,我现在有一个编译错误:在项目 ServerGenerated.

具体错误在这一行: global::Domain.Contract.MyObject result = new global::Domain.Contract.MyObject(); 这是我的域对象(在我的 Domain.Contract 程序集中创建)。

因此,看来我唯一需要做的就是将引用 do Domain.contract 添加到 ServerGenerated 项目。

但它不会出现在 Visual Studio 中。添加我对 Server 项目的引用并不能修复错误。

谢谢。

4

2 回答 2

1

在您的解决方案资源管理器窗口中,选择 ServerGenerated 程序集并单击“显示所有文件”按钮。这将显示所有隐藏文件夹 - 包括为 WCF Ria 生成的客户端代码。

如果没有生成代码,这意味着服务实现有问题(通常会出现编译错误)或服务有其他问题 - 例如缺少 [EnableClientAccess] 属性(我知道服务没有此属性不会生成客户端代码)。

其他要检查的事情是在您的宿主项目中包含服务器端 ria 程序集 + 在 .config 文件中为 WCF ria 进行正确配置(询问 google)。

于 2011-07-14T08:32:36.653 回答
0

在您的解决方案资源管理器窗口中,选择项目并单击“显示所有文件”按钮并选择“文件视图”(不是逻辑视图)。

然后添加对项目“ServerGenerated”的引用(不是服务器项目)

于 2011-08-09T15:36:10.703 回答