【问题标题】:How to add .NET dll reference to UWP project?如何将 .NET dll 引用添加到 UWP 项目?
【发布时间】:2016-10-13 04:52:20
【问题描述】:

我有几个 .NETv4.x 的 .NET dll 项目。我将版本更改为 4.6.1 并重建没有问题。当我尝试从我的 UWP 项目中向它们添加引用时,出现错误:

项目以“.NETCore”为目标,而文件引用以“.NETCore”为目标 '.NET 框架'。这不是受支持的方案。

我也无法从“添加引用...”->“项目”中引用 .NET 项目:

无法添加对项目的引用

但在项目设置中,我看不到任何将其目标更改为“.NETCore”的内容。 是否可以从 UWP 项目中引用 .NET4.x 项目或将其转换为 UWP 项目类型?

【问题讨论】:

    标签: c# .net uwp


    【解决方案1】:

    UWP 项目可以引用通用 Windows 类库、可移植库或 Windows 运行时组件。您的经典 .NET 项目不是这些。

    如果您打算继续在经典 .NET 项目和 UWP 中开发和使用这些库,我建议您尝试使用 Portable Library,您可以在其中选择目标平台,但要注意这种方法可能会有些限制,因为它采用可用命名空间和类的最小公分母。

    另一种方法是创建两个针对经典 .NET 和 UWP 的不同项目,并在它们之间共享代码,或者添加文件作为链接或使用共享项目。然后用条件编译解决所有问题,构建它们并为这两种情况使用适当的输出 .dll。

    【讨论】:

    • 我有这个问题。有没有一种简单的方法可以将 ..NET 经典库更改为 PCL?
    • 取决于您拥有多少特定于平台的代码。我个人会通过“蛮力”做到这一点:创建一个 PCL 并复制其中的所有代码,然后开始消除/替换所有不适合的代码。也许有更有效的方法。 .NET Standard 最近也出现了,它可以用于与 PCL 相同的目的,但我还没有仔细研究它。您可以check here了解更多信息。
    • 我刚刚创建了 Xamarin.Forms UWP 项目,并且能够添加第 3 方 .NET dll 库以在代码中引用和使用它。请注意确定此 dll 是在哪个版本的 .NET 中创建的,因为它不是我们的,但它可以工作。也不确定 2 年前当这个问题得到回答时这是否不可能,但我现在可以做到
    猜你喜欢
    • 2012-08-25
    • 1970-01-01
    • 1970-01-01
    • 2016-12-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多