C# · 12月 26, 2021

c# – 在单声道上运行WinForm应用程序的真实世界成本?

我公司有一个现有的WinForm应用程序,它在WinXP上运行.该应用程序使用DirectSound进行大量的声音处理.

我的公司想评估Mono,作为Vista / Win Server 2008每台工作站成本的替代品.

我听说不同的估计,从“它可以轻松地在Mono上工作”,在某些情况下可能需要几个月的重新编码才能获得一个WinForm应用程序来运行Linux上的Mono.

有没有人有这个好的现实世界的经验?
一个很好的链接参考?
在我承诺测试之前,我想得到一个更好的想法.

谢谢!

解决方法 WinForms部分将很容易,您可能需要做的很少,因为Mono现在声称支持Winforms 100%,但是所有的DirectSound调用都必须重写为使用Linux上提供的API,ALSA是明显的选择.

我在VS 2005中编写了小型应用程序,并将其轻松移植到Mono.如果你做了很多P / Invoke,那么你必须考虑到这一点,因为这些可能需要被完全重写或重新考虑.

另外,请查看MOMA:“Mono Migration Analyzer(MoMA)工具”可帮助您识别将.Net应用程序移植到Mono时可能遇到的问题,有助于确定平台特定的呼叫(P / Invoke)和尚未支持的区域Mono项目“.