Sorry, a noob question..
Can applications made in .NET run on MAC?
Or do I need a converter/emulator?
Printable View
Sorry, a noob question..
Can applications made in .NET run on MAC?
Or do I need a converter/emulator?
Quote:
Originally Posted by winterslam
They will not work on MAC, you would need an emulator like Virtual PC on the mac that would run Windows
You would want to look into using Mono. I'm not sure whether applications compiled by VS will run on Mono or not.
Yea not everything will work entirely, only when Microsoft decide to stop being stubborn and decide to port the .NET framework to run on Linux will it be 100% fine.Quote:
Originally Posted by jmcilhinney
There's no stubbornness about it. Microsoft don't want Linux to exist so why would they make it easier for developers to defect from creating Windows software to creating Linux software.Quote:
Originally Posted by Paul M
Well i don't think Linux users are going to come running back any time soon.
That doesn't mean that Microsoft developers should be encouraged to write software for Linux, thereby making Linux a more inviting prospect for current Windows users. Microsoft is all about business, and that just wouldn't make good business sense at this point. We digress though.Quote:
Originally Posted by Paul M
Sorry, unrelated question..
Is there such a program that runs on both mac and windows without the need for any emulator?
Java programs, all you need is the program and the JVM on both machinesQuote:
Originally Posted by winterslam
There's a JVM for windows and a separate JVM for Mac
a lot of programs are cross-platform as well, such as videolan, firefox, etc. And there's always WINE which lets you (with fiddling) run windows apps natively (no dx though)
Applications like Firefox are cross-platform because they have been compiled multiple times for multiple platforms. The difference with Java and .NET/Mono applications is that they don't actually run on the hardware platform itself, but rather inside a virtual machine or the like. The same Java executable will run on any hardware platform that has a JVM installed, and the same .NET executable will run on any platform that has the .NET Framework installed. The same Mono executable will run on any platform that has Mono installed. There's presumably some overlap between .NET and Mono apps but, like I said, I don't really know the details. The only way to avoid compiling multiple times for multiple platforms is to use a virtual machine or the like, i.e. use JIT compilation on each individual platform.Quote:
Originally Posted by Lord Orwell
I am unfamiliar with Mono, but Java seems to be the best choice for multiple platforms in my opinion, although i have seen some programs with an .exe front-end such as limewire.
.exe is simply a file extension, it's not a good indication as to what type of compiled code it is
For example a java .exe file isn't windows compiled code, it's a bytecode file for the JVM
A .Net .exe file isn't windows compiled code, it's a misl code file for the .Net JIT
Both have the .exe extension, but inside they're completely different
perhaps, but mac doesn't run programs with .exe extensions. Theirs are .app. And the .exe programs you are referring to both have executable code in the beginning of them that is windows only that tells them what to do with the rest of the program.
It does if the exe file is java bytecode with the mac jvm installedQuote:
Originally Posted by Lord Orwell
surprise, but i am currently posting this from a mac, with JVM installed. And it won't launch any .exe files that are compiled java, such as limewire or pcworld disks. Please point me towards one that it will run. Even cross-platform apps based on java (again, such as limewire) have two different versions. The only way that i am aware of to run java without a stub loader is to have it load from an html file.
Another option for cross-platform (depending on your needs) is Flash.
MS should port .net to linux and just make it really expensive. :D
Seriously though, Mono is virtually useless. The winforms stuff is so buggy (at the moment) that its not worth using. If you are only doing console stuff then you'll be fine but its so slow you may as well write it in C anyway.
However I will say that console apps DO work really well between windows and mono.
Just a note about filename extenstions, in unix/linux (and therefore the latest MacOS) filename extensions are meaningless in most situations. The tradition is to analyse the file for its "magic number" to determine a file's type. If this yields no results then the OS might opt to use the extension to imply a type if it sees fit.
I didn't really read most of the posts, but my friend who is obsessed with macs and computers in general knows how to convert executables to run on the mac. I'll ask him later when he gets back.
please share! He's probably running WINE and has all the .dlls anyway. No conversion necessary, but you never know... Mine is set up to run basic windows programs, snes roms, n64 roms, dos games, and c-64 programs. I get bored easily.