Mono的VB.Net支持是否可以用于生产站点?

时间:2011-01-20 17:38:37

标签: .net asp.net vb.net linux mono

以前,我只使用以微软为中心的解决方案,但对于即将推出的ASP.Net项目,我正在考虑使用Mono并将其托管在Linux Amazon EC2实例上。根据对previous question的回复,这听起来可行。但是,我对VB.Net最为满意,我想知道Mono对它的支持程度。

有没有人有使用VB.Net为Mono编写ASP.Net应用程序的第一手经验?如果是这样,我想知道它是怎么回事,你遇到了什么样的兼容性问题,以及你是否认为Mono的VB.Net支持可以在生产网站上使用?

我知道Mono的C#.Net支持非常好,所以这是我的后备计划,但我更喜欢使用VB.Net。

4 个答案:

答案 0 :(得分:6)

请注意,你也可以使用.Net的ASP.Net预编译,然后编译所有的VB.Net,所以Mono对VB.Net的支持有多好或无所谓。

预编译还会在首次点击页面时删除初始编译命中。

如果您遇到Mono的VB.Net编译器中的错误,请记住另一件事要记住。

答案 1 :(得分:5)

据Mono人士称,Mono的VB.Net支持相对较新。然而,他们认为它是完全完整的,VB.Net编译器等通过了他们所有的单元测试。这并不意味着不存在任何错误。

你绝对应该尝试一下。 VB.Net在Mono中完全支持它,它的行为应该与在Windows机器上的行为完全不同(但是,一如既往,没有保证)。

答案 2 :(得分:4)

似乎Mono项目团队积极开发和支持VB.NET。下一版本2.10的(draft) release notes包含an item regarding the VB compiler,其中列出了该版本的主要要点之一:

  

VB编译器

     

VB编译器(vbnc)已经发布了   升级为使用cecil / light而不是   反思,这使得它成为可能   创建不同的程序集   运行时版本仅使用1   编译器。这非常类似于   我们对Mono C所做的改变#   编译器详述如上。

     

默认情况下,vbnc现在将编译为   4.0配置文件和新脚本   (vbnc2)已被添加到编译中   2.0简介。

答案 3 :(得分:4)

VB编译器还没有被放弃,只是缺少时间来阻止所需的工作更新到更新的VB版本。

目前vbnc支持VB 8(又名Visual Studio 2005),其中包含较新VB版本的一些小功能。

最简单,最安全的方法是在Windows上预编译您的站点,在这种情况下,您不必处理任何潜在的编译器问题(并且您可以使用最新的Visual Studio版本)。如果你采取这种方式,你不应该遇到任何你不会使用C#[1]

命中的错误

[1]:您将更多地引用一个程序集:Microsoft.VisualBasic.dll,可能成为bug的来源 - 但是如果您坚持VB的良好编程习惯(打开Option Strict)你会遇到任何重大新bug的可能性非常低。