我可以在Ubuntu上用C#编写程序吗?


34

我被迫学习和练习C#,是否有支持C#的应用程序并可以用来编写程序?


10
你尝试了什么?使用简单的Google关键字组合即可找到C# Ubuntu答案。
gertvdijk 2012年

好的,我将投票删除这个问题
AmirRazoR 2012年

3
仅从这里的经验出发-您的大学课程很可能会假设您在Windows上,并且很可能会使用C#中的几个仅Windows功能,这些功能并非总是与Mono具有很好的相关性,例如winforms(尽管我认为mono可能已经实现了winforms,但我不确定)。您可能会遇到问题。
德雷克·克拉里斯(Decke Clarris)2012年

好吧,自从我开始使用ubuntu的那天起,我就没有一次去过Windows。但是我会记住这个建议。
AmirRazoR 2012年

3
@AmirRazoR Mono运行时确实支持Windows窗体。但是,我不知道Ubuntu中有任何支持可视化创建它们的集成开发环境。如果您的课程是使用C#语言编写的,我想它可能不会涵盖Windows窗体,但可能可以。如果发现必须使用Windows操作系统,则可以考虑在Ubuntu系统上的虚拟机中运行Windows。但是,虚拟化Windows确实需要您具有副本。(或者,如果您需要比虚拟机更好的图形加速,则可以在Windows上的虚拟机中运行Ubuntu。)
Eliah Kagan

Answers:


36

是的,您可以使用单声道

为了使IDE能够正常工作,请尝试monodevelop

sudo apt-get install monodevelop

这还将引入所需的所有必要运行时。


26

您正在寻找的是Mono,即从该项目的网站引用:

C#和与Microsoft.NET二进制兼容的CLR的开源,跨平台实现

Mono还带有集成开发环境(IDE):MonoDevelop。两种软件都针对Ubuntu打包。

单声道

通过软件中心安装

MonoDevelop

通过软件中心安装

最后一个软件包取决于第一个。安装此软件包将自动安装另一个。


我现在正在安装Monodevelop,这是否还会安装Mono,或者我应该运行特定的命令来安装它?
AmirRazoR 2012年

@AmirRazoR:是的,它将安装Mono。我还更新了我的答案以添加此信息。
Andrea Corbellini 2012年

4

您可以使用.NET Core在Linux上开发C#应用程序:https : //www.microsoft.com/net/core

安装后,在终端中键入dotnet new以获取可以生成的应用程序模板列表,供您启动。

从今天的.NET Core 2.0开始,以下是列表:

Templates                                         Short Name       Language          Tags               
--------------------------------------------------------------------------------------------------------
Console Application                               console          [C#], F#, VB      Common/Console     
Class library                                     classlib         [C#], F#, VB      Common/Library     
Unit Test Project                                 mstest           [C#], F#, VB      Test/MSTest        
xUnit Test Project                                xunit            [C#], F#, VB      Test/xUnit         
ASP.NET Core Empty                                web              [C#], F#          Web/Empty          
ASP.NET Core Web App (Model-View-Controller)      mvc              [C#], F#          Web/MVC            
ASP.NET Core Web App                              razor            [C#]              Web/MVC/Razor Pages
ASP.NET Core with Angular                         angular          [C#]              Web/MVC/SPA        
ASP.NET Core with React.js                        react            [C#]              Web/MVC/SPA        
ASP.NET Core with React.js and Redux              reactredux       [C#]              Web/MVC/SPA        
ASP.NET Core Web API                              webapi           [C#], F#          Web/WebAPI         
global.json file                                  globaljson                         Config             
Nuget Config                                      nugetconfig                        Config             
Web Config                                        webconfig                          Config             
Solution File                                     sln                                Solution           
Razor Page                                        page                               Web/ASP.NET        
MVC ViewImports                                   viewimports                        Web/ASP.NET        
MVC ViewStart                                     viewstart                          Web/ASP.NET        

当前的最新版本是2.0,可以满足我的所有需求。


我喜欢这个答案似乎是独立于IDE的,但是我很好奇哪种类型的程序适合使用这些命令生成的项目?例如,我在MonoDevelop中没有看到对Razor页面的支持。VSCode对插件和编译器采用非常严格的模块化方法,在我看来仍然很笨拙。
anon58192932 '18

骑士似乎很有前途:jetbrains.com/rider,但我还没有尝试过。同时,我又回到Windows,因为我缺少Linux上的太多功能。我是C#开发人员。Visual Studio使得开发变得如此容易。我在Linux上使用Sublime Text已有一段时间了。
塔德伊
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.