【问题标题】:Reference a windows uwp sdk inside a net5 windows app在 net5 windows 应用程序中引用 windows uwp sdk
【发布时间】:2021-04-11 20:09:21
【问题描述】:

我必须从 Windows 应用程序中使用针对 uap10.0.x 的 SDK。

我尝试添加 Microsoft.Windows.SDK.Contracts 和 Microsoft.Windows.CsWinRT,但它给出了构建错误 Failed CLR。​​

我做了一些研究,发现了一种在 TargetFrameworks 中添加 uap 的方法。 https://developercommunity.visualstudio.com/t/net-core-cross-target-with-uap/174053

执行此操作后,Windows.Forms 和其他库出现错误。

我还尝试创建一个 .net 标准库并在其中添加参考。构建成功,但在 net5.0 应用程序中使用库时出现 Platform not supported 的运行时错误。

我也尝试创建编译常量以仅在 windows os 中使用该库,但错误是相同的。

在这种情况下该怎么做?是否可以在 windows 应用程序中使用 uwp 库,或者我应该创建一个 uwp 项目并找到从 windows 应用程序启动它的方法。

欢迎提出任何建议。

【问题讨论】:

    标签: winforms uwp reference sdk .net-5


    【解决方案1】:

    是否可以在 windows 应用程序中使用 uwp 库...

    不,如果 SDK 仅针对 uap10.0 目标框架名字对象 (TFM),则您不能在针对 UWP 以外的任何其他框架的应用中使用它。

    TFM,例如 uap10netstandard2.0,指定一组可供库或应用程序使用的 API。如果您希望能够在 UWP 和 .NET 应用程序中使用 SDK,它应该以 .NET Standard 为目标。

    有关目标框架和 TFM 的更多信息,请参阅docs

    【讨论】:

    • 问题是 sdk 来自第 3 方供应商,我无法将其修改为目标网络标准。现在我创建了一个单独的 uwp 来使用它,我试图从 Windows 应用程序中打开它,因为只有在满足特定条件时才会使用这个 sdk。您知道是否可以在客户设备中安装 uwp 而无需放入 windows 商店?
    • 如果第 3 方不提供除 uap10.0 之外的其他目标,则他们不支持除 UWP 之外的任何其他目标。
    • 您可以在不使用应用商店的情况下将 UWP 应用旁加载到设备上,但这是另一个问题。
    猜你喜欢
    • 2017-09-11
    • 2021-12-02
    • 2016-01-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-11-08
    • 1970-01-01
    相关资源
    最近更新 更多