I am forced to learn and practice C#, is there any applications that support and can be used to write programs in C#?
Yes you can use mono
For a nice IDE to work in try monodevelop:
sudo apt-get install monodevelop
This will also pull in all the necessary runtimes needed.
1This is the one that worked for me:
sudo apt install mono-devel– GathideSep 30, 2020 at 8:52
What you are looking for is Mono, which is, quoting from the project's website:
An open source, cross-platform, implementation of C# and the CLR that is binary compatible with Microsoft.NET
Mono also comes with an Integrated Development Environment (IDE): MonoDevelop. Both softwares are packaged for Ubuntu.
This last package depends on the first one. Installing this package will automatically install the other.
i am installing Monodevelop right now, would this also install Mono, or i should run a specific command to install it? Dec 28, 2012 at 14:27
@AmirRazoR: yes, it would install Mono. I've also updated my answer to add this information. Dec 28, 2012 at 14:31
You can develop C# applications on linux with .NET Core: https://www.microsoft.com/net/core
After you install it, type dotnet new in your terminal to get a list of application templates which can be generated for you to start.
As of .NET Core 2.0 today, this is the list:
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
The current latest version is 2.0 and covers all my needs.
I like that this answer seems to be IDE independent but I'm curious as to what kind of programs would be comfortable working with the projects generated by these commands? I didn't see support for Razor pages in MonoDevelop for instance. And VSCode still seems clunky to me with its very strict modular approach to plugins and compilers. Aug 17, 2018 at 17:51
Rider seems promising: jetbrains.com/rider but I haven't tried it yet. In the mean time I moved back to Windows, because I was missing too many features on Linux. I'm a C# developer. And Visual Studio just makes the development so much easier. I was using Sublime Text for some time on Linux.– TadejAug 20, 2018 at 12:28
You could use Visual Studio Code using
wget -q https://packages.microsoft.com/keys/microsoft.asc -O- | sudo apt-key add - echo "deb [arch=amd64] https://packages.microsoft.com/repos/vscode stable main" | sudo tee /etc/apt/sources.list.d/vscode.list sudo apt update sudo apt install code
sudo snap install code --classic
C# package installing, the next dialog box appears:
Clicking the marked button opens the next page, which provides the instructions for
.Net Core SDK installation (along with ASP.Net Core runtime and .Net Core runtime installation instructions):
wget https://packages.microsoft.com/config/ubuntu/19.10/packages-microsoft-prod.deb -O packages-microsoft-prod.deb sudo apt install ./packages-microsoft-prod.deb sudo apt-get update sudo apt-get install apt-transport-https sudo apt-get update sudo apt-get install dotnet-sdk-3.1
monodevelop IDE seems is not an option now, because of I could not find it. But if you want to install the current mono version (For example, on 20.04, amd64 architecture) you could use official mono repository:
sudo apt install gnupg ca-certificates sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF echo "deb [arch=amd64] https://download.mono-project.com/repo/ubuntu stable-focal main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list sudo apt update sudo apt install mono-devel
You could also install additional
mono packages, which you could find by:
apt-cache search mono
man mono will introduce you to its usage:
DESCRIPTION mono is a runtime implementation of the ECMA Common Lan‐ guage Infrastructure. This can be used to run ECMA and .NET applications.
C# Ubuntureveals the answer already.