2

我正在尝试按照文档引用我的域服务。

以下两个声明工作正常

xmlns:riaControls = "clr-namespace:System.Windows.Controls; 
   assembly=System.Windows.Controls.DomainServices"

xmlns:data = "clr-namespace:System.Windows.Controls;
   assembly=System.Windows.Controls.Data"

但我遇到了这个问题

xmlns:domain="clr-namespace:SNMPApplication.Web"

即使在我重建整个解决方案之后,也会出现此错误:

未定义的 CLR 命名空间。'clr-namespace' URI 指的是程序集中不包含的命名空间。

我尝试添加对 Silverlight 项目的引用,但出现此错误

您只能将项目引用添加到解决方案中的其他 Silverlight 项目。

有没有人知道问题是什么?:/

非常感谢你。

4

3 回答 3

1

添加对 RIA DomainService 的引用的方式不是通过传统的“添加引用”对话框。您可以通过项目设置来完成。在 Silverlight 应用程序中,转到项目设置,特别是“Silverlight”选项卡。该选项卡上有一个“WCF RIA 服务链接”。您将能够选择包含 DomainService 的项目。

选择项目后,Visual Studio 将为您的 Silverlight 应用程序生成代码。它位于 Generated_Code 文件夹中(在项目中不可见,但您可以在文件夹中看到它)。这是您需要引用的代码所在的位置。

于 2011-05-03T14:24:44.330 回答
0

当你这样做时,你实际上并没有创建对你的 web 项目的引用,它在编译时解决它以创建生成的 g.cs 文件(我怀疑),这是在后台做事情的那些神奇的事情之一(我认为它将它存储在您的项目文件中,并在 WCF Ria 服务链接下的项目属性-> silverlight 选项卡中设置它)。

请检查以下内容:

您的 SNMPApplication.Web 与您的 Silverlight 项目 (SNMPApplication) 位于同一解决方案中,并且您的引用与您添加到 web.Project 类的 DomainService 类命名空间相同(它可能位于子文件夹中,这就是为什么它不是在职的,

如果您还没有创建域服务,请添加一个,因为这是 silverlight 和 ria 服务用来连接实体模型和 silverlight 的。(从添加 DomainService 类看这里

xmlns:domain="clr-namespace:SNMPApplication.Web"

于 2011-05-03T14:03:17.037 回答
0

如果您真的需要从您的 SNMPApplication 项目访问 Web 项目,那么我认为您需要的是这个问题的答案之一:How to access web application class into silverlight application

于 2011-05-03T14:05:48.040 回答