【问题标题】:Reference Universal Windows Library from WPF application从 WPF 应用程序引用通用 Windows 库
【发布时间】:2015-07-31 08:09:33
【问题描述】:

我目前正在将现有的 wpf 应用程序移植到通用 Windows 应用程序。

现有应用程序相当简单,结构为普通 wpf 项目,包含 ui 层和文件系统交互,以及包含主要应用程序逻辑的类库。

我能够将类库转移到通用 Windows 库(windows 10 sdk),而无需进行任何实质性更改。此通用 Windows 库与原始 wpf 应用程序存在于同一解决方案中的自己的项目中。 为了尽量减少复杂性,我希望即将推出的通用 Windows 应用程序和 wpf 应用程序都引用同一个库。但是,我无法从我的 wpf 项目中添加对通用 Windows 库的引用。该库出现在 Visual Studio 的“添加引用”对话框中,但在选择库并单击“确定”后,我收到一条消息,提示无法添加引用。

目前我正在尝试做的事情是不可能的,还是我缺少什么?需要将相同的代码保存到两个不同的库项目中才能使用,这似乎很愚蠢。

【问题讨论】:

  • 我已验证该问题与wpf项目或Library项目的目标框架无关。 (至少在 Visual Studio ui 中不可见。)
  • 我也刚刚更新到最新版本的 VS,工具不再存在。据我所知,这可能是因为在 RTM 中,他们从描述依赖关系的 .csproj 文件方式转移到了 project.json 文件。我似乎也无法将 .net 框架添加到 project.json 依赖项中。我们可以在 VS 2015 Update 1 中看到这个工具回归。

标签: c# .net wpf win-universal-app


【解决方案1】:

您应该能够通过右键单击项目>属性>库并在目标命中更改下选择类库的目标框架,然后在您的计算机上选择.Net framework X。然后,(除了 PCL 中不兼容的 API 之外)您将能够引用该项目

【讨论】:

  • 这是我在通用 Windows 库的目标下看到的全部内容。尽管有选择框,但目标版本和最小版本不能更改为其他任何内容。 Screenshot
  • 嗯,在刚才的测试中,我唯一没有看到目标下的更改按钮是我的项目是“Windows 运行时组件(Windows 通用)”类型。如果它是在“类库(Windows 通用)”下制作的,那么我会得到按钮。你有同样的行为吗?
  • 我在“类库(Windows 通用)”下创建了我的。您可以发布您拥有的选项的屏幕截图吗?我什至继续在同一个 .NET 框架版本下使用两个新项目制作了一个新的解决方案,但我仍然看到同样的事情。
  • 这很奇怪。我正在使用 VS 2015 发行版的 Windows 10 build 10240(RTM 构建),我绝对没有那个按钮。
  • 通用类库有几种不同的项目类型。我通过“经典桌面”类别创建便携式类库,并在创建过程中出现提示时选择通用目标。通用应用程序类库与 WPF 应用程序不兼容(据我所知),具有通用应用程序的经典桌面库也不兼容。这可能意味着您需要创建一个新的可移植类库项目并迁移您现有的代码。
猜你喜欢
  • 2016-10-14
  • 2017-07-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-11-26
  • 1970-01-01
相关资源
最近更新 更多