如何运行.NET程序?

由于.NET是独立于操作系统的,我如何运行在.NET 4.0上构建/编译的程序呢? 我能在Ubuntu上开发.NET 4.0的软件吗?如果可以,我需要下载什么东西?请提供链接。

2现在,mono并不支持3.5和4.0的所有功能。希望你不需要WPF或类似的东西。 - mbx
3个回答

概述

Mono为.Net框架提供核心兼容性API。

Natty版本(v2.6.7)支持Visual Basic和C# 2、3版本,以及部分API支持v4

这还包括VB .Net编译器和运行时编译器。家族的其他成员j#和f#在开发方面不受支持。显然,它们的编译变体与其他.Net家族兼容。

支持Windows Forms直到2版本 - 源代码

下一个Ubuntu版本-11.10-将配备几乎完整的.Net v4支持的mono 2.10

Mono示例用法

一个我在Ubuntu上使用并且没有问题的.Net应用程序的例子是Keepass 2
你可以使用mono来运行编译好的.exe文件(该文件是在Windows下创建的)。
mono Keepass.exe

开发

在Ubuntu下进行开发,我建议你看一下Mono Develop项目 - 一个基于IDE的环境 - 在软件中心搜索MonoDevelop。

安装

仔细查看建议的附加组件 - 选择你将要开发的领域的附加组件。

enter image description here


2需要注意的是,.net 4.0支持是在mono 2.8中添加的,而当前的ubuntu版本是2.6。因此,在任何已发布的ubuntu版本中都没有.net 4.0的支持。然而,mono 2.10已经包含在尚未发布的ubuntu 11.10中。 - trampster
@trampster - 非常感谢 - 已经更新了回答。 - fossfreedom

Mono项目提供了一个与.NET 4.0兼容的C#编译器和类库。随着版本的更新,兼容性也得到了改善。我相信Ubuntu包含了2.6.7版本,这是最新的长期稳定版本。Mono 2.10.2是最近发布的版本,有各种改进。

为了开发,请安装monodevelop。Ubuntu提供了MonoDevelop 2.4。如果你愿意冒险,你可以获取MonoDevelop 2.6 beta 3 -- 这里有一个脚本可以同时安装Mono 2.10.2和MonoDevelop 2.6 beta 3。


what about VB.NET ? - Sourav

  1. 我使用winetricks进行安装

    $ sudo apt-get install winetricks
    $ winetricks dotnet40
    
  2. 将dotnet40中所说的文件复制到所说的文件夹中

    $ cp gacutil-net40.tar.bz2 ~/.cache/winetricks/dotnet40/gacutil-net40.tar.bz2
    
  3. 再次运行winetricks

    $ winetricks dotnet40
    
  4. 然后用wine运行您的应用程序

    $ cd .wine/drive_c/Program.../App
    $ wine APP.exe