41

How can I install Visual Studio?

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

Seth
  • 58,122
  • 2
    2010 has at least two successful installs logged now: https://appdb.winehq.org/objectManager.php?sClass=version&iId=20359 – Andrew Ensley Dec 09 '14 at 17:28
  • What problem or error message do you get when you try ? – Panther Apr 10 '15 at 01:14
  • Microsoft to provide Visual Studio for Linux (and Mac): http://www.networkworld.com/article/2916561/open-source-tools/microsoft-brings-visual-studio-to-linux-macs.html and http://www.theregister.co.uk/2015/04/29/visual_studio_code/ – david6 May 16 '15 at 02:32
  • For general advice in installing apps/games in Wine, see http://askubuntu.com/questions/988/how-can-i-install-windows-software-or-games?lq=1 – Wilf May 23 '15 at 18:34
  • Visual Studio is still not available, but Visual Studio Code is worth checking out. It's available for Linux and works pretty well with C# with mono installed. – kcpr Apr 05 '16 at 21:28

8 Answers8

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

Anwar
  • 76,649
roadmr
  • 34,222
  • 9
  • 81
  • 93
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

csgeek
  • 1,659
  • 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 '14 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/

Anwar
  • 76,649
  • 8
    I use monodevelop everyday, it works well for me. – trampster Oct 02 '12 at 09: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. – ImaginaryRobots Oct 02 '12 at 21:11
  • MonoDevelop is still unable to open Visual Studio 2012 solution and project files :(. – Erwin Mayer Oct 27 '12 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 05 '17 at 06:54
  • @ImaginaryRobots monodevelop partially a Microsoft product either. It's developed by Xamarin, and Xamarin is owned by Microsoft. – Hi-Angel Dec 05 '17 at 06: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.

JulioHM
  • 634
  • 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) – Christian Stewart May 14 '15 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. – Abhinav Gauniyal Jul 22 '15 at 07: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 '19 at 17:08
  • When I wrote that comment it was speculated that its based on Atom editor, ofc now we know its not ;) – Abhinav Gauniyal Sep 16 '19 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.

Kushal
  • 2,370
PieterB
  • 49
  • 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. – Eliah Kagan May 31 '12 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 01 '12 at 04: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.) – Eliah Kagan Jun 01 '12 at 05: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 05 '17 at 07: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 05 '17 at 18:21
  • @Kushal .net core is irrelevant to Mono (well, except that there's an ongoing effort on porting the code from there). – Hi-Angel Dec 05 '17 at 18:54
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
    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. –  Oct 02 '12 at 16:20
  • 1
    The latest version of .NET is currently supported under Linux: http://dotnet.github.io/getting-started/ – matandked Feb 10 '16 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

Dasun
  • 101
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.