.net开源和运行平台选择

.net开源和运行平台选择,.net,windows,linux,open-source,.net,Windows,Linux,Open Source,我们被要求为一个大项目寻找一个完全开源的解决方案,他们希望这个项目尽可能接近100%开源,主要是因为它是一个社区项目,除了运行主机之外,未来可能没有多少钱可用。使用操作系统软件可以节省许可证成本,因为服务器将由现有IT系统团队内部管理 其中一家供应商建议将.net作为系统的组成部分,这很好。据我所知,.net应用程序可以在GPL等开源许可证下发布 然而,由于我不是一个.net开发人员,当涉及到是什么驱动了.net时,我有点困惑。它必须是windows服务器吗?这当然会导致更高的服务器成本和与MS

我们被要求为一个大项目寻找一个完全开源的解决方案,他们希望这个项目尽可能接近100%开源,主要是因为它是一个社区项目,除了运行主机之外,未来可能没有多少钱可用。使用操作系统软件可以节省许可证成本,因为服务器将由现有IT系统团队内部管理

其中一家供应商建议将.net作为系统的组成部分,这很好。据我所知,.net应用程序可以在GPL等开源许可证下发布

然而,由于我不是一个.net开发人员,当涉及到是什么驱动了.net时,我有点困惑。它必须是windows服务器吗?这当然会导致更高的服务器成本和与MS产品的连接,还是可以在Linux等开源服务器上运行.net应用程序


请不要把这变成一个MS Vs Linux的论点,或者使用其中一个。我们只是想确保当涉及到使用.net以及它的开源程度时,我们能得到充分的信息。我希望我的眼睛能睁开。

“True”.NET只在Windows上运行。但是,只要不存在任何兼容性问题,就允许为.NET编写的应用程序在Linux(和其他平台)上运行。Mono有一个可以帮助您粗略了解您可能会遇到多少问题的工具,但我自己对此没有任何经验。还有一个页面,您可能会发现它非常有用。

“True”.NET仅在Windows上运行。但是,只要不存在任何兼容性问题,就允许为.NET编写的应用程序在Linux(和其他平台)上运行。Mono有一个可以帮助您粗略了解您可能会遇到多少问题的工具,但我自己对此没有任何经验。还有一个页面您可能会发现非常有用。

我想您会发现,在非Microsoft环境中,开源社区和选择的数量要多得多。虽然您可以使用Mono在Linux上运行.Net,但您可能只是增加了另一层不必要的复杂性


另外,一定要评估选择开源解决方案的真正成本。可能没有一个社区来支持您选择的软件,从长远来看,您可能会在维护上花费与其他方式相同的时间/金钱。

我想您会发现,在非Microsoft环境中,开源社区和选择的数量要大得多。虽然您可以使用Mono在Linux上运行.Net,但您可能只是增加了另一层不必要的复杂性


另外,一定要评估选择开源解决方案的真正成本。可能没有一个社区支持您选择的软件,从长远来看,您在维护上花费的时间/金钱可能与您在其他方面节省的时间/金钱一样多。

进一步了解之前的一些答案;其他一些细节:

  • 目前以.NET 2.0和3.5为目标的编译器是。对我来说,这意味着一个不成熟的平台。如果您正在开始一个新项目,能够可靠地使用.NET framework提供的所有功能是一个巨大的优势。恕我直言,如果你需要将.NET框架推向极限/边缘的话,Mono不会把它带到桌面上


  • Mono是由Novell赞助的,Novell确实提到了它作为一个平台的潜在寿命。

    关于之前的一些答案;其他一些细节:

  • 目前以.NET 2.0和3.5为目标的编译器是。对我来说,这意味着一个不成熟的平台。如果您正在开始一个新项目,能够可靠地使用.NET framework提供的所有功能是一个巨大的优势。恕我直言,如果你需要将.NET框架推向极限/边缘的话,Mono不会把它带到桌面上


  • Mono是由Novell赞助的,Novell确实提到了它作为一个平台的潜在寿命。

    正如其他人已经说过的,Mono是存在的,但考虑到它的不成熟性,它不仅是一个额外的复杂性,而且是一个额外的风险。此外,提供.NET解决方案的供应商不太可能希望在Apaches+Mono上支持其应用程序


    所以要么选择OSS(Apache+PHP/Perl/Python/Ruby等),要么选择IIS+.NET。选择.NET解决方案绝对没有错,如果它是最适合这项工作的应用程序,但不要试图将一个基本上为一个平台设计的应用程序转移到另一个平台上。

    正如其他人已经做过的那样,存在Mono,但鉴于它的不成熟性,这不仅是额外的复杂性,也是额外的风险。此外,提供.NET解决方案的供应商不太可能希望在Apaches+Mono上支持其应用程序


    所以要么选择OSS(Apache+PHP/Perl/Python/Ruby等),要么选择IIS+.NET。如果.NET解决方案是这项工作的最佳应用程序,那么选择它绝对没有错,但不要试图将一个基本上为一个平台设计的应用程序推到另一个平台上。

    该供应商是否有在开源操作系统上使用mono的实际经验?还是只在windows上使用.net?那你们的系统呢?你可能不想强迫他们做一些他们不积极支持的新事情


    你听起来不太了解驾照。GPL不能很好地与其他一些相结合。请咨询专业人士。

    该供应商是否有在开源操作系统上使用mono的实际经验?还是只在windows上使用.net?那你们的系统呢?你可能不想强迫他们做一些他们不积极支持的新事情


    你听起来不太了解驾照。GPL不能很好地与其他一些相结合。请咨询专业人士。

    有一个兼容性检查程序。它叫做Moma:有一个兼容性检查器。它被称为Moma:是的,选择开源的真正成本是我们需要的