如何在Ubuntu上开发.NET应用程序?


38

在大学里,我们使用Microsoft .NET开发应用程序。我最近改用Ubuntu,想了解在ubuntu上制作应用程序的类似工具。


4
我强烈建议您考虑学习另一种语言,例如Python或C / C ++。存储库中的大量(实际上,可能是大多数)应用程序都是用这些语言编写的。
内森·奥斯曼

2
尽管选择另一种语言非常容易,但是它当然不是必需的,也不是特别可取的(除了接触其他编程风格以外)。
RAOF

如果您想每天使用Linux但想开发C#而没有Mono的兼容性问题,请考虑在VirtualBox中安装Windows虚拟机。
Mark K Cowan 2015年

Answers:


36

您也可以在ubuntu上的.NET中进行编程。好吧,有点。.NET平台有一个开源实现,称为MONO。MONO应用程序可以在Ubuntu / Linux,Windows和Mac OS上运行。在Ubuntu软件中心中寻找MonoDevelop。在Ubuntu中了解有关Mono的更多信息

另一种选择是快速。我认为Quickly对于以Ubuntu为中心的应用程序开发来说更好。您可以在几分钟内为您的应用编写代码并将其发布到PPA(启动板存储库)。也可以从Ubuntu软件中心快速获得。开始使用Quickly编写应用程序


1
+1回答问题。(我个人讨厌单声道,但是很好。)
Nathan Osman

3
您的mono-project.com链接指向“快速URL”
McDowell,2010年

1
您可以很好地使用CLI(.NET)语言和标准库-最新Ubuntu版本中的mono版本支持C#3.0和(大部分).NET 3.5。不过,您将要学习GTK#UI库。System.Winforms和WPF应用程序看起来不是本机,并且WPF也没有完全实现。
RAOF

1
您将要选择MonoDevelop IDE。除了GUI开发(* nix在Windows上使用GTK#进行拖放与Windows上的Winforms / WPF)外,Ubuntu中的开发与Windows中的开发并没有太大不同。
Evan Plaice 2010年

@Owais Lone-答案中提供的链接无效,请尝试更新或添加替代内容
Chinmaya B 2015年

12

快速可以帮助您使用Python(非常易学且非常流行)快速制作出色的应用程序!


2
+1用于建议Python /快速。我是一名专业的Python程序员,并且在计算机上使用Ubuntu。Ubuntu(通常是Linux)非常适合进行Python开发。
codeape

6

瓦拉语言是一种编程语言非常相似,C#。它还很年轻,但是已经与现有库(例如GTK)建立了很多绑定。它会编译为本机二进制文件,因此您的用户不需要像.NET那样的额外运行时。

请参阅C#程序员Vala简介


如果您以ubuntu为目标,则预安装了mono,因此不需要其他运行时。
蹦床

1
似乎与Vala for C#的链接不起作用。请尝试改用live.gnome.org/Vala/ValaForCSharpProgrammers。还有一个Java程序员live.gnome.org/Vala/ValaForJavaProgrammers
Mark B

谢谢Mark,好像他们已经重组了wiki,我更正了Answer中的链接。
2011年

5

我认为没有任何理由建议您切换应用程序平台/语言。使用您惯用的语言,您将比花时间学习另一种语言更有效率。

Monodevelop将为您提供更好的Mono开发体验-它没有Visual Studio,但是它是将要在Ubuntu上获得的最佳的Mono集成IDE。GTK表单及其控件的可视化设计是一个巨大的胜利(想想Winforms但Linux风格)。


2

Linux上有各种可用的工具,可用来创建丰富的桌面应用程序。Bowline是一个mvc框架,允许您在ruby中创建桌面应用程序。鞋子是另一个框架,可让您使用ruby创建桌面应用程序,它是迄今为止最简单的桌面应用程序框架。


2

开始学习Qt。这是一个基于C ++的框架。它是跨平台的,在Windows中也可以正常工作。即使它具有Visual Studio的加载项。通常用于KDE平台。对于GNOME,您可以学习GTK#

维基百科

代替Qt工具包,选择GTK +作为GNOME桌面的基础。


1
Qt在GNOME上工作
dv3500ea 2011年

@ dv3500ea:您没有。QT用于开发KDE应用程序,这并不意味着QT构建的应用程序不能在GNOME上运行。GTK应用程序将在KDE上运行的方式相同。但是您不能使用GTK来构建KDE应用程序
用户

1
但是,它不仅仅适用于KDE平台。
dv3500ea 2011年

1
QT不用于构建KDE应用程序。QT用于构建GUI。KDE使用QT构建其应用程序。QT也可以用于构建GTK应用程序。
Owais Lone

我想我在这里完全迷路了。标记为社区Wiki。感谢您的支持和耐心。
用户

2

要开发专门用于Ubuntu的应用程序,请访问Ubuntu的开发人员网站。除其他事项外,您还可以:

他们有一个名为Quickly的框架。

Qt和GTK的其他答案中也有很好的参考。指南的一个有趣来源是Gnome的开发人员网站

使用的框架/ IDE将取决于您使用的语言。您可以在Ubuntu上使用MS Visual Studio Code


1
我开始的赏金特别是关于dotnet。答案应该很容易。您甚至可以从Microsoft网站上找到相关的更新片段
Anwar

@Anwar我对描述感到困惑。对我来说,这个想法是做.Net还是像.Net一样发展尚不清楚。我回答了第二种解释
拉蒙·苏亚雷斯

请在答案的那部分添加更多详细信息。应该包括基本的安装过程
Anwar

@Anwar对不起,我不明白您的评论。
拉蒙·苏亚雷斯

2

请始终与Mono交叉引用CoreCLR(.NET Core运行时)。此外,在Microsoft开源.NET之后,请参阅此问题收集有关CoreCLR和项目Mono关系的相关人员和官方意见。

我认为来自IT行业巨人的一件好事是官方文档。

以下命令是Ubuntu的.NET Hello World控制台应用程序入门指南中的副本,但最后添加了旁白和意见。如果任何命令失败,则可能参考上面的链接。

  1. 先决条件:Ubuntu中的.NET Hello World控制台应用程序入门。这里的说明假设您正在运行Ubuntu 16.04 LTS。

    为了在Ubuntu或Linux Mint上安装.NET Core,您需要首先设置托管所需软件包的apt-get feed。因此,使用这些命令设置apt存储库。

    sudo sh -c 'echo "deb [arch=amd64] https://apt-mo.trafficmanager.net/repos/dotnet-release/ xenial main" > /etc/apt/sources.list.d/dotnetdev.list'
    sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 417A0893
    sudo apt-get update
    
  2. 安装.NET Core SDK

    sudo apt-get install dotnet-dev-1.0.1
    
  3. 初始化示例Hello World应用程序

    dotnet new console -o hwapp
    cd hwapp
    

    看起来很时尚,就像Node.js一样上手就容易多了,就像所有新一代开发工具(例如Spring Boot,Angular 2等)的CLI工具一样,您只需使用以下命令即可初始化Hello World应用程序:

  4. 运行应用

    dotnet restore
    dotnet run
    

    第一条命令将还原项目文件中指定的软件包,第二条命令将运行实际示例:

  5. 最后,如果您可以略微复杂一些,但是如果您需要UI,那么我认为这比使用其他C ++ / C#UI库要容易。您可以选择使用.NET或Node.js与Electron的Web浏览器进行通信,以通过HTML5,CSS提供UI。

    带有.NET和Node.js的Electron UI


已投票。您的MS链接实际上包含了我想要包含的所有内容。您能否将链接的重要部分放入答案中?
安华

当然,感谢您的支持。在这里,对微软的第二个问题感到非常好。只要微软试图在他们的开源项目中立的,我认为应该的Unix欢迎他们为好,像朋友一样与猛砸同在Windows 10
爱德华陈JW
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.