.net开源和运行平台select

我们被要求为一个大项目研究一个完全开源的解决scheme,他们希望这个项目尽可能接近100%的开源,主要是因为这是一个社区项目,未来可能只有很less的钱,用于主机的运行。 使用操作系统软件可节省许可成本,因为服务器将由现有的IT系统团队进行内部pipe理。

其中一个供应商是提出.net作为系统的组成,这很好,我知道.net应用程序可以正确地在GPL等开源许可下发布。

然而,因为我不是一个.net开发者,所以在涉及.net的权力方面,我有点困惑。 它是否必须是一个Windows服务器,这当然会导致更高的服务器成本和与MS产品的联系,或者可能在Linux等开源服务器上运行.net应用程序。

请不要把它变成一个MS Vs Linux的参数和好处,或者使用其中一个。 我们只是想确保我们充分了解使用.net的信息,以及它是如何开源的。 我希望能打开我的眼睛。

就像其他人已经有了单声道一样,但由于它是不成熟的,它不仅是一个额外的复杂程度,而且是一个额外的风险水平。 此外,提供.NET解决方案的供应商不太可能希望在Apaches + Mono上支持他们的应用程序。

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

“真”的.NET只能在Windows上运行。 但是, Mono项目允许为.NET编写的应用程序在Linux(和其他平台)上运行,只要没有任何兼容性问题。 单声道有一个兼容性检查器 ,可以帮助你粗略看看你可能有多少问题,但我自己没有任何经验。 还有一个可移植性指南页面,您可能会发现非常有用。

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

此外,请务必评估选择开源解决方案的真实成本。 可能没有社区来支持您选择的软件,从长远来看,您最终可能会花费尽可能多的时间/金钱进行维护,否则您将无法保存。

进一步的一些以前的答案; 一些其他的单声道细节:

  • 目前针对.NET 2.0和3.5 的编译器不是默认的编译器 。 对我而言,这意味着一个不成熟的平台。 如果你开始一个新的项目,能够使用.NET框架提供的所有可靠的是一个巨大的优势。 恕我直言,单声道不会把这个表,如果你需要将.NET框架推到极限/边缘情况。
  • Mono是由Novell赞助的,它确实将其潜在的长寿作为一个平台。
  • 这个供应商在开源操作系统上有单声道的实际经验吗? 或者只是与Windows上的.NET? 那你的系统家伙呢? 你可能不希望强迫他们进入一些他们不主动支持的新事物

    你听起来不太理解许可证。 GPL与其他一些产品没有很好的结合。 请咨询专业人士。