【问题标题】:Common library for WP7 and Windows ProjectWP7 和 Windows 项目的通用库
【发布时间】:2015-02-17 12:50:03
【问题描述】:

美好的一天。 我尝试使用一项 WCF 服务构建 Windows 和 WP7 应用程序。为了更方便,我想在一个公共库中定义我所有的合约和接口。但是,由于 WP7 项目无法引用 Win-library,我创建了一个 WP7 类库,并在他中创建了下一个类:

[ServiceContract]
    public interface IStubSrv
    {
        [OperationContract]
        void Foo1();
        [OperationContract]
        void Foo2();
}

但我有下一个问题:当我在运行时将 Win-Project 中的引用添加到这个库时,我得到下一个异常:

无法加载文件或程序集“System.ServiceModel,Version=2.0.5.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35”或其依赖项之一。

如果我从我的公共库中删除对 System.ServiceModel 的引用 - 我可以在 Win-Project 中添加对我的库的引用,但我不能使用 ServiceContract 和 DataContract 属性,并且 CLR 不能通过 WCF 使用这个库。

所以我的直接问题是:我可以创建带有定义 WCF 合同的通用库,WCF 基础设施、Windows 应用程序和 WP7 应用程序可以使用它吗?或者我必须使用完全相同的代码创建两个不同的程序集??

【问题讨论】:

  • +1。你让我免于向 SO 发布问题

标签: wcf windows-phone-7


【解决方案1】:

是的,可以创建一个可以直接在 WP7 和 Windows 应用程序之间共享的库(我假设你的意思是 WPF / WinForms?)。您可以通过创建Portable Class Library 来做到这一点。

您可以使用的 API 取决于您希望针对的平台,例如,如果您希望将您的可移植类库用于 XBox,那么这些 API 就非常受限制。但是对于 WP7 / WinForms / WPF / ASP.NET,您可以共享相当多的代码,包括 WCF 客户端代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2013-01-17
    • 2019-10-27
    • 1970-01-01
    • 1970-01-01
    • 2019-06-26
    • 1970-01-01
    • 2017-05-14
    • 2016-01-19
    相关资源
    最近更新 更多