代码之家  ›  专栏  ›  技术社区  ›  Jamie Mellway

使用Mono完成通用Windows平台(.net core)

  •  0
  • Jamie Mellway  · 技术社区  · 9 年前

    我们正在使用一些旧的开源.Net Framework库,这些库依赖于.Net Core中不存在的东西。Mono可以用来填充.Net Framework的其余部分吗?

    具体来说,我正在考虑创建一个通用Windows类库,它包含Mono中的所有内容(不包括一些System命名空间),这些内容将更改System中的命名空间。*到MonoSupport.System.*。

    当然,更好的方法是重新编写库的代码,使用不同的库,或者在从Mono获取东西时更具选择性。我希望这是一项临时措施。

    (我想使用iTextSharpLGPL,但它使用了XmlTextReader、带有.Close()的流、System.Security。密码等。图书馆的付费版本 does not support UWP either .)

    编辑 :我放弃了这个,改写了我的应用程序以使用Apitron。这很好,直到我尝试部署并发现它们不支持.NETNative。我现在正在等待一些库来支持UWP上的PDF生成。

    1 回复  |  直到 4 年前
        1
  •  1
  •   Thomas    8 年前

    我不这么认为。以下直接原因

    • Mono是.NETFramework的克隆,因此基于mscorlib思想,而UWP基于System.Runtime。这将需要额外的努力。
    • UWP应用程序发布时基于.NETNative运行时。这个运行时在库实现中强制执行一些模式(例如,没有反射,没有类型的C++实现等)。Mono在AOT方面也很强大,但我认为有龙。
    • 单声道是个糟糕的选择。更好的是在github上发布的.NET Framework的微软参考源。

    您将在计划中投入的时间将非常长,最好直接在corefx中进行修复,并等待UWP的下一版本包含您的修复。

    对于您的问题,我强烈建议您将问题作为iTextSharpLGPL的上游提交来解决,方法是使用新方法并删除close,或者只是复制MIT许可的XmlTtextReader。但我强烈建议你,不要乱搞加密;)