代码之家  ›  专栏  ›  技术社区  ›  pencilslate

从项目添加指向Web引用的链接-找不到ChannelBase

  •  3
  • pencilslate  · 技术社区  · 14 年前

    我正在构建Silverlight应用程序。因为我有Silverlight和.NET模块要使用的类,所以我创建了一个包含所有类的Silverlight项目,然后创建了一个.NET项目链接(“添加链接”)到Silverlight项目中的类。通过这种方式,我将一个类文件单独编译为Silverlight和.NET程序集。我想为Web服务引用复制相同的内容。也就是说,我在Silverlight项目中有Web引用。我正在尝试将到reference.cs的链接从Silverlight项目“添加”到.NET项目。当我编译.NET项目时,ChannelBase类没有得到解决,这似乎是由于Silverlight和.NET框架库中类的定义不一致。这会导致编译错误,说明无法解析的channelbase。听起来像是死胡同。你看到解决这个问题的方法了吗?

    2 回复  |  直到 12 年前
        1
  •  1
  •   alf    13 年前

    恐怕这是不可能的。两个代理完全不同:一个是同步的,另一个不是。

    最好的办法是共享服务定义的类,而不是整个代理。只需预先创建这些类,使用“添加为链接”在两个项目中重用它们,然后在添加服务引用时,标记“在引用的程序集中重用类型”选项。

        2
  •  1
  •   Udo Held    12 年前

    以防有人发现。我也有类似的问题。我是用 slsvcutil.exe 尝试为.NET和MonoTouch编译它。我不断地得到 ChannelBase not found . 这完全没有道理。最后我把 CookieContainer 代理客户端类中的属性为low,注意编译错误消失了,代理为monoTouch工作。