Silverlight项目中的问题引用.Web项目

时间:2011-05-03 13:50:19

标签: c# silverlight xaml ria domainservices

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

以下两个声明工作正常

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是指a   未包含在的名称空间   组装

我尝试添加对Silverlight项目的引用但是我收到此错误

  

您只能添加项目引用   其他Silverlight项目   溶液

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

提前非常感谢你。

3 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

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

请检查以下内容:

您的SNMPApplication.Web与Silverlight项目(SNMPApplication)位于同一解决方案中 并且您的引用与您添加到web.Project类的DomainService类命名空间相同(它可能位于子文件夹中,这就是它无法正常工作的原因,

如果您尚未创建域名服务,请添加一个,因为这是silverlight和ria服务用于连接您的实体模型和silverlight的内容。 (从添加DomainService类看看here

xmlns:domain =“clr-namespace:SNMPApplication.Web”

答案 2 :(得分:0)

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