gpt4 book ai didi

.net - .NET/MONO 交叉编译的最佳实践

转载 作者:行者123 更新时间:2023-12-03 22:29:26 25 4
gpt4 key购买 nike

编写可以在 .NET (windows) 和 Mono (linux) 上交叉编译的代码的最佳实践是什么?尽管我对 .NET 非常熟悉,但我对 Mono 及其所有问题的经验并不多。有没有人在这方面看过一篇好的博客文章或最佳实践论文,但我无法挖掘?我会坚持使用 C# 3.0 级别的功能。

我首先关心的是Interop,因为我需要调用一些 native 代码。
接下来是处理诸如 Mono.XXX 之类的 namespace 的最佳方法。我应该使用一堆#if吗?隔离每个平台程序集中的代码?

任何关于建筑和设计的建议将不胜感激!
如果您有在 Visual Studio(任何版本)中为 Linux/Mono 交叉编译的任何经验,我也会对此感兴趣。

最佳答案

最大的问题是坚持使用 Mono 支持的 API。使用 Visual Studio Integration Mono 中的支持对此有很大帮助,因为您可以在所有平台上始终以 Mono 为目标。

对于您的具体问题:

1) 互操作 - 您需要坚持使用 P/Invoke。尝试将其隔离为单独的、特定于平台的程序集。这导致2:

2)使用#if - 我会避免这种情况,并且更喜欢使用可扩展性模型。 Mono 支持 Managed Extensibility Framework ,它提供了一种在运行时“插入”平台特定代码的好方法。

关于.net - .NET/MONO 交叉编译的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1793013/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com