Does the user need to have . NET if I compile using Mono?

Asked

Viewed 212 times

5

The user who will use my application needs to have the version of . NET on the PC? I saw in some topics on the internet talking about this advantage of Mono.

2 answers

6


Windows

Generally speaking, yes. Unless you use .NET Core which allows running any application based on CLR (another reference) without having anything installed. Everything you need goes along with your application. Of course it has its limitations, but it can. Soon you should have the .NET Native available for every type of application, today can only run some types.

But it is possible to make a Bundle with Mono and avoid all this dependency. I just can’t guarantee that everything will be the way you want it to be, that it will run everything you need. This shape is very similar to what . NET Core offers.

Mono’s own people don’t usually recommend its use in Windows. Not that you have any problems, but . NET is better. There are cases where Mono may be the only option.

Linux/Macos

The . NET Core is also available here and the . NET Native must be made available. Mono, of course, also works, but it tends to be legacy to most applications, but again, some applications will still make sense.

Extra information

It is possible to mix files assemblies generated with Mono and . NET, after all they must be compatible. Of course nothing guarantees that your code will be compatible on all platforms. No use trying to run WPF on Linux, for example.

Updating

The . NET Framework is dead (or almost), and should now use . NET Core for anything new, so it still needs a Runtime, but now in a different way.

  • Oops! Unfortunately I bet I won’t be able to catch this . Net Native and hit a program in a windows 7 without the . Net, but it will help a lot!

  • I improved the answer, but they are working on it. Already with . Net Core can. But deep down you will need the . Net, just don’t need to install=lo, it goes along with your application without needing the installation.

  • What is a CLR?

  • @diegofm edited, see if it helps.

0

You don’t have to. Mono is Mono, . NET is . NET are two separate things. Incidentally proof of this is that you run Mono on Linux and Mac systems where there is no framework .NET created by Microsoft. What may be creating your confusion and @Maniero is that you can mix up libraries created on. NET (Microsoft) with Mono libraries. But you can write your code completely in Mono and compile in Linux for example, if you compile it back in . net possibly can work 100%.

For more information read about the ECMA and the compatibility between . net and Mono

  • 1

    There is the . Net on Linux and Mac. So your proof is false. Precisely by being able to mix the libraries I said that in general it is necessary to have the . Net, although there is the possibility to run without it. That is, I had a negative based on false assumptions.

  • "There is the . Net on Linux and Mac." Since when? Refers to the . net Core this is no alternative for now. Anyone would rather compile in Mono than in . net Core. Believe Me.

  • It has been around for several months and many people already use it. If you want a final version, it comes out this week. I do not prefer Mono, for everything I read there will be a general stampede pro. Net Core and leave Mono in a very specific niche. Note that the AP, although it did not refer specifically to Windows, implied that it was on this platform that he spoke. However I added about Linux in my reply.

  • Yes it comes out this week. But it’s still nothing interesting as it takes out Mvc and the Entity Framework can hardly do more nda. There is no Memory Data or Reflection, in my opinion it is comparable to Framework 1.1. Mono does everything that Framework 4.0 does and is multi-platform.

  • Get your opinion then. Compare the Core that is based on . Net 4.6 (yes some things are missing, but things that either don’t make sense, or should never have existed on the .Net, or almost no one does) with 1.1 ended its credibility. Reflection has limitations only. There are things that . Net Core does that Mono doesn’t. But that doesn’t get you anywhere. Choose what fits your project. Almost all projects will work well with . Net Core.

Browser other questions tagged

You are not signed in. Login or sign up in order to post.