UWP - 使用针对.NET Framework 4.6的程序集

时间:2017-05-09 17:00:46

标签: c# .net uwp win-universal-app windows-10-universal

我想在UWP(侧面加载的应用程序)中使用.NET Framework程序集。我知道它不可能以任何简单的方式实现,因为UWP的目标是.NET Core。

我试图按照this article中的说明创建一个Brokered Windows运行时组件。

但是我有问题:

  • 我无法使用市场上的任何模板,因为它们适用于Visual Studio 2015,而且我使用的是Visual Studio 2017
  • 我无法打开示例项目,因为Visual Studio 2017表示项目(具有已编辑的csproj文件的项目)与该版本的Visual Studio 2017不兼容
  • 该文章中的构建后脚本使用winmdidl,但它不在PATH中,所以我必须填写完整路径"C:\Program Files (x86)\Windows Kits\10\bin\x86\winmdidl"(不要知道这是否是一个问题)
  • winmdidl命令返回错误error W1005: Exception Unknown exception

此外,我有两个问题:

  • 样本和文章使用C ++"代理"我可以在不使用任何C ++代码的情况下在代理组件中用C#编写逻辑吗? (我只需要能够从UWP中调用一些在第三方.NET程序集中定义的方法)
  • 自" Brokered Windows Runtime Component"在.NET Framework中调用某些代码的方法看起来很麻烦,编写一些Windows服务或其他形式的REST服务并通过localhost与它通信可能会更好吗?这是我已经用来与机器上的某些第三方工具进行通信的方式。性能和复杂性是否有利于代理组件方法?

1 个答案:

答案 0 :(得分:2)

借助Desktop Bridge功能,您不再需要Windows Runtime Brokered Components。有关更多信息,请参阅此页面:

https://developer.microsoft.com/en-us/windows/bridges/desktop

我猜这个使用AppService的sample将帮助您解决您的问题