代码之家  ›  专栏  ›  技术社区  ›  Oded

便携式C#的最佳实践[已关闭]

  •  20
  • Oded  · 技术社区  · 18 年前

    我希望为linux/windows/mac/任何其他平台编写一些C#代码,并寻找可移植代码的最佳实践。

    mono 有一些很棒的 porting 资源。

    便携式C#的最佳实践是什么?

    9 回复  |  直到 17 年前
        1
  •  15
  •   burning_LEGION    14 年前

    我讨厌“最佳实践”这一术语,因为似乎有些实践在任何情况下都是最好的,这是一件冒险的事情,但我会告诉大家,我认为多平台代码(以及大多数其他类型的开发)都是一个“好的实践”:

    使用持续集成引擎和 .

    听起来太复杂了?如果您真的需要支持多个平台,那么最好这样做。无论您对代码和库的使用有多么谨慎,如果您测试得太晚,您会发现自己花了长时间重新编写应用程序的大部分。

        2
  •  14
  •   Orion Edwards    18 年前

    我实际上使用过winforms,这很好。虽然很难看,但还是奏效了。

        3
  •  11
  •   Sam Warwick    18 年前

    System.IO.Path 即。

    而不是:

    string myfile = somepath + "\\file.txt";
    

    string myfile = Path.Combine(somepath, "file.txt");
    

    如果需要指定路径分隔符,则可以使用 等

        4
  •  10
  •   Andrei Rînea    17 年前

    记得:

    • *NIX仅使用换行符(“\n”)
    • Windows使用“\r\n”
    • MacIntosh使用“\r”(我对此不太确定-请随意更正)。

    L.E.:似乎一些较新的MacOS不再使用“\r”行分隔符。

        5
  •  6
  •   wvdschel    18 年前

        6
  •  3
  •   Ubiguchi    18 年前

    book 在跨平台的.NET上,但由于这本书有些过时,现在你真的需要坚持使用Mono站点的信息。

    这个 Mono Migration Analyzer (MoMA) 该工具非常适合分析现有的.NET应用程序,并警告您可移植性问题,但新代码的最佳选择是在开发工作中使用最新稳定版本的Mono。

    NativeProbe

    如果您决定在MS.NET上进行开发,那么您应该尝试并确保您也在Mono上进行构建和单元测试,并且还应该注意一些特定于Windows的命名空间,例如Microsoft.Win32和System.Management命名空间。

        7
  •  1
  •   Eric Z Beard    18 年前

        8
  •  1
  •   Cory Foy    18 年前

    还有一些简单的事情。比如不要假设路径字符。或 newlines .

    我是在Linux或OSX上定期在Mono上编译NUnit的人之一。

    the GUI running on Mono/Linux -这是相当令人兴奋的(即使是

        9
  •  1
  •   Jacksonh    17 年前