41

How can I install Visual Studio?

I'd prefer to use it in Wine or PlayOnLinux if possible.

5

8 Answers 8

26

You can try Wine, but per the Wine application database, Visual Studio generally works poorly under Wine:

From this Wine site page:

What works
nothing, install fails

What does not
n/a

What was not tested
n/a

http://appdb.winehq.org/objectManager.php?sClass=application&iId=892

1
  • Sorry, none that I know about other than Wine :(
    – roadmr
    Oct 5, 2012 at 16:29
24

You'll need to run a virtual machine. Wine won't be able to handle it. Look into install VirtualBox (not necessarily the best but easier). You'll need to create a windows VM and then once you have windows installed install Visual Studio.

If you're looking at equivalent IDEs. Qt Creator, Eclipse, KDevelop, Anjuta, Intellij can all act as possible alternatives depending on the language you wish you develop in.

Possibly useful link on how install windows on VirtualBox: http://www.wikihow.com/Install-Windows-XP-on-Ubuntu-with-VirtualBox

1
  • 5
    As I understand this is the best option to run without headaches. Especially in case of Visual Studio which (unlike games) doesn't need a lot of performance.
    – Jet
    Jul 12, 2014 at 10:02
18

You can use the Mono Development IDE to write .NET code in Ubuntu, rather than trying to use a Microsoft product in a non-Microsoft OS (which others have rightly pointed out is never going to be supported, easy, or in MS' best interests).

It has most of the features of Visual Studio, and will run faster and be more stable.

To install monodevelop, use this command in a terminal:

sudo apt-get install monodevelop

Monodevelop Home page: http://monodevelop.com/

5
  • 8
    I use monodevelop everyday, it works well for me.
    – trampster
    Oct 2, 2012 at 9:34
  • 4
    "buggy and lack of features" is exactly what you would get from trying to run Visual Studio in Ubuntu - you will have to either make a compromise somewhere or stick with MS Windows as your OS. Oct 2, 2012 at 21:11
  • MonoDevelop is still unable to open Visual Studio 2012 solution and project files :(. Oct 27, 2012 at 18:48
  • @ErwinMayer WorksForMe. On my ex-job I been involved in C# development, and my host OS was GNU/Linux distro. Sharing projects between Visual Studio in a VM and Monodevelop worked just fine. However it should be noted that due to lack of vim-style extension in monodevelop in was completely unusable. I have used it only for compilation and tiny edits.
    – Hi-Angel
    Dec 5, 2017 at 6:54
  • @ImaginaryRobots monodevelop partially a Microsoft product either. It's developed by Xamarin, and Xamarin is owned by Microsoft.
    – Hi-Angel
    Dec 5, 2017 at 6:56
10

Sorry to give you the wrong answer, but I really doubt this will ever be truly supported.

Some people might actually get it working someday, but Microsoft will most certainly never support this officially; or even make things easy for the community, for that matter. From what I know, running the MS Office suite itself is horribly painful, it becomes more difficult with each new version.

Don't take it personally. Business is business. And their share on development is not on supporting the opensource community. For all they care, they strive on making their tools less and less compatible overtime.

If you really need this inside Linux, the best choice would be to have Windows in a Virtual Machine.

4
  • 3
    Joke's on you! They've released Visual Studio Code and are moving towards Linux support (yes I know you wrote this in 2012) May 14, 2015 at 19:13
  • 10
    Joke's on you! Visual Studio Code is based on Atom editor which was already cross-platform and is still far far far far behind Visual Studio. I guess you don't use VS much. Jul 22, 2015 at 7:11
  • 2
    @AbhinavGauniyal I agree with you that VS code is weaker than Visual Studio but Code doesn't seem to be based on Atom, "Although it uses the Electron framework, the software does not use Atom and instead employs the same editor component (codenamed "Monaco") used in Azure DevOps (formerly called Visual Studio Online and Visual Studio Team Services)".wikipedia
    – jrh
    Aug 25, 2019 at 17:08
  • When I wrote that comment it was speculated that its based on Atom editor, ofc now we know its not ;) Sep 16, 2019 at 17:37
4

Visual Studio is tightly integrated with Windows and Developing a .NET application using any language (C# or VB) takes more than just having Wine, and since Wine is not capable enough to provide complete development runtime as .NET in Linux.

If you want to develop software specifically in C#, on Linux, you can use MonoDevelop

Since, you're asking for Visual Studio 2010 (.NET 4.0), with MonoDevelop, you'll not be able to develop an app that particularly uses .NET 4, as of now MonoDevelop is in version 3.0.2 (somewhat equivalent to .NET 3.0).

You can still use Windows virtually within Ubuntu, using VirtualBox. And then install Visual Studio there, but still a serious app development is not recommended to be done in Virtualized environment.

6
  • 2
    @Kush (who edited this post, adding the relevant section): Can you provide some kind of explanation, or citation(s), to support the idea that virtualized environments are poorly suited for serious software development? I've developed software in virtual environments without problems, and in my personal experience, the more sophisticated and serious a programmer is, they more likely (than me) they are to do some or all of their serious app development in such an environment. May 31, 2012 at 22:08
  • 4
    @EliahKagan: The only reason why using Virtualized environment should be avoided while developing, is the performance we get while development, no matter how better configuration we have, Virtual Machines simply can't compete the performance of having Physical installation. Also, if VM is unavoidable, the host machine must be capable enough to take the load of development tools being used.
    – Kushal
    Jun 1, 2012 at 4:30
  • 1
    @Kush Good answer, thanks! (Of course, if someone is choosing between running VS2010 on a virtual machine hosted in Ubuntu, or on an old physical machine with poor specs pulled out of the closet for this purpose, the VM might perform better.) Jun 1, 2012 at 5:30
  • ⁻¹. @Kushal shame on you, it's your ⁻¹ by the way. You should've left a separate answer instead of hijacking an existing one. First, wine is capable enough to provide .NET in GNU/Linux. The secret in simply installing Windows version of Mono. You being asked about it for every new wineprefix btw. Second: on my ex-job I've been using GNU/Linux host and Windows guest for "serious C# development" just fine. More over, not long before I quit, for political reasons I had to swap host and guest, and I dare you, building on all cores in Windows host makes it unusable as opposed to Ubuntu host.
    – Hi-Angel
    Dec 5, 2017 at 7:13
  • @Hi-Angel Care to read question, answer and comment dates here? .NET Core is open source and has been ported to Linux since then, and this answer is no longer 100% correct, so burst your "anger" somewhere else. Peace out.
    – Kushal
    Dec 5, 2017 at 18:21
2

You could try MonoDevelop, which is a clone of VisualStudio, but it hasn't as much features. MonoDevelop uses the Mono framework, a platform-independent implementation of C# and the CLI, but it's not fully compatible with .NET. You will have to port your .NET applications to Mono. At least you have to rewrite the UI, WPF isn't included in Mono and Winforms is crappy on Linux.

Although there are some Linux applications written in C# (Banshee, Tomboy, Pinta, PDFMod, Smuxi), .NET/Mono isn't very popular on Linux. It's not officially supported by Microsoft, and the developers of Mono (Xamarin) are actually focusing on mobile devices (Android, iOS) and not the Linux desktop. I recommend you to switch to another IDE and programming language that is fully supported on Linux. If you really can't live without .NET (e.g because you make your living writing .NET programs), you have to keep using Windows, because that's the only platform it supports.

2
  • 2
    Don't get me wrong, Mono is not a bad framework and MonoDevelop is not a bad IDE, but don't expect it to be fully compatible with .NET and Visual Studio. It's like switching from Microsoft Office (<= 2003) to LibreOffice, most of it is the same, but not everything.
    – user244
    Oct 2, 2012 at 16:20
  • 1
    The latest version of .NET is currently supported under Linux: dotnet.github.io/getting-started
    – matandked
    Feb 10, 2016 at 21:32
2

Now Microsoft offer a cross platform version of visual studio. It's Not feature rich as Visual Studio Windows Edition.

Follow the white rabbit :) https://www.visualstudio.com/en-us/products/code-vs.aspx

3
  • 9
    Vs code is an editor, not an IDE.
    – ave
    Mar 6, 2016 at 14:42
  • agreed! but worth to mention :)
    – Dasun
    Mar 18, 2016 at 8:57
  • Yeah, since I installed Linux as dual boot, %90 time of my time on pc is on linux, and VS Code is really helping me, as monodevelop's color scheme is white.
    – ave
    Mar 18, 2016 at 10:36
1

As another option all the Jetbrains IDEs are in Java, have installers for Linux, and are excellent. They are also free if you are a student or teacher.

(Its ironic how much of a boon to Linux java has been given all the hate directed at it by Linux C snobs back in the day.)

I use Rider for C# and Webstorm for all the Web stuff including TypeScript, and vastly prefer them to the bloated mess that is VS.

You must log in to answer this question.