【问题标题】:How to add external non windows phone class library project reference to a windows phone project?如何将外部非 windows phone 类库项目引用添加到 windows phone 项目?
【发布时间】:2012-07-22 09:57:22
【问题描述】:

您好,我是 windows phone 开发的新手,我正在尝试构建一个数据驱动的应用程序,我在其中创建了我的 BLL、EL 和 DAL,它们都是 windows phone 类库类型的项目。 我的解决方案中还有一个额外的类型类库项目,其中添加了对“MyGeneration.dOOdads.dll”文件的引用。 现在我希望在 windows phone 应用程序项目中引用这个项目。但是当我尝试添加引用时,VS 2010 说...。“无法添加选定的项目引用。项目引用必须是相同或更低版本的 windows phone 项目的另一个银灯"。 . . . 请在这种情况下帮助我。谢谢

【问题讨论】:

    标签: c# .net windows winapi windows-phone-7


    【解决方案1】:

    那不能也不会奏效。 phone 运行时只能访问完整 .NET 库的一个小子集(嗯,有点),因此任何非 phone-7 库都极不可能运行。为了阻止这种令人惊讶的事情,只允许引用针对该运行时构建的库。

    如果可能,使用相同的 c# 文件创建一个新项目,以 phone 7 框架为目标。现在参考这个项目。很可能某些位将无法编译(证明它也不会运行),可以通过多种方式纠正(#if 块,替代.cs 文件等)。

    您还可以通过将现有项目设为“可移植类库”来获得一些运气 - 然而,这是所有通用框架中限制性最强的子集,而且不太可能仍然编译(不做任何改动)。

    使用可移植类库项目,您可以构建可移植程序集,无需修改即可在 .NET Framework、Silverlight、Windows Phone 7 或 Xbox 360 平台上工作。

    (来自MSDN

    【讨论】:

    • 非常感谢 Marc Gravell。但是您能否提供更多关于可移植类库项目的详细信息以及如何在这些类库中添加一些其他项目引用。谢谢
    • @SoftBuildersPk 它们只是一个受限制的库,将自身限制在所提到的其他库的共同交叉点。可移植类库只能引用可移植框架中的东西 :) 要创建此类库,首先从 MSDN 安装 VS010 的可移植库工具包(它内置于 VS 11 中)。您可能需要将 csproj 重新创建为“可移植类库”,但之后,您应该能够从多个项目类型中引用它。
    • 并非所有平台都支持所有这些程序集。在可移植类库项目中,您指定要定位的平台,并且在您的项目中仅引用这些平台支持的程序集。如果您尝试引用目标平台不支持的程序集,Visual Studio 会警告您不兼容。**(MSDN)** 这就是我所知道的,因为它是有意义的,因为我正在插入一个非 WP7 类库到 WP7 项目。有没有办法做我想知道的事情???? ;) 谢谢
    • @SoftBuildersPk 你想从 PCL 中引用什么?
    • 一个非 windows phone 类库,即一个简单的类库,可以添加到任何 ASP.NET 站点项目中。
    猜你喜欢
    • 1970-01-01
    • 2012-10-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多