【问题标题】:Problem referencing .Web project in Silverlight project在 Silverlight 项目中引用 .Web 项目时出现问题
【发布时间】:2011-08-17 17:58:32
【问题描述】:

我正在尝试按照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 指的是 未包含在 组装。

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

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

有人知道问题出在哪里吗? :/

非常感谢您。

【问题讨论】:

    标签: c# silverlight xaml ria domainservices


    【解决方案1】:

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

    请检查以下内容:

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

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

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

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        【解决方案3】:

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

        【讨论】:

        • 我将域服务添加为链接,但现在我收到有关实体框架的组装错误:/ 我不确定这是否是正确的方法。
        • 不是。看另外两个答案。 ;]
        猜你喜欢
        • 2019-11-19
        • 1970-01-01
        • 1970-01-01
        • 2021-04-09
        • 2011-05-08
        • 1970-01-01
        • 2011-07-23
        • 1970-01-01
        • 2023-02-13
        相关资源
        最近更新 更多