C# Mono IDE architecture in mac - c#

How c# written code is running on mac version of Mono. Can you please explain because as far as i know Mac doesn't support .exe files. Then when we build a c# application how it run on Mac.

It's a massive topic. But to address the .exe file point, you would launch mono with the .exe as the parameter of the mono process. It's not the native OS that is 'supporting' the .exe, it is mono itself.
This is really no different to any .net implementation, in that the 'executable' runs in a sandbox, not directly interfacing with the OS.

Related

.NET Compile on Mac run on Windows

I have installed Xamarin and Mono on my Mac so that I can work with a C# project on the fly. I can run it on the Mac, however when i compile the project on my Mac and then run it on Windows (server 2003), I get an error message.
Why is this?
I was using Windows specific .dlls like Kernel32, etc. Removing these parts made it run on OS X and Linux.

C# mono GTK how to pack for Mac OS X

I have developed an application on my Windows machine, using Xamarin Studio, targeting Mono / .Net 4.5 and using GTK. The app runs on my Windows machine since I have .Net installed, now I need to deploy to a Mac. The Mac has Mono Runtime already installed, but I have no idea what to send.
If there is anything I need to "pack" or "link" I need to do it on my Windows machine and only send one or more files to the Mac user, so they can run it. After hours of reading, I keep hearing about mkbundle and MonoMac, but it seems that you use them on a Mac or at least I have not found a clear guide on how to do this on my Windows computer.
Here is the question - I have only one .exe right now, how do I "convert" this to a Mac "executable?"

Running a 64-bit compiled MATLAB function from c#

I'm a bit of a beginner to C# and I've recently built a Windows Form Application GUI which executes a MATLAB function in much the same way as the answer presented here. So essentially using the Process.Start method to run the MATLAB function in the background.
This works fine with a 32-bit compiled MATLAB function, however compiling the function as a 64-bit executable leads to an error when executing from the WFA GUI - "Could not find version 8.2 of the MCR. Attempting to load mclmcrrt8_2.dll."
If I run the compiled function outside of the WFA GUI I have no problems. So it seems that the WFA cannot execute 64-bit processes, is there a workaround for this?
Thanks for any help.
You cannot have both MATLAB and MCR installed on the same machine and consistently run at deployed app.
I have not had any luck if both x32 and x64 MCR are installed, but you can have different version of the MCR installed, although that's not optimum.
If you have an x64 MCR deployed MATLAB, you must use x64 in your c# app.
This is not clearly documented, and these are from my experience deployed the same MATLAB base as a COM DLL, an x32 .NET assembly, and an x64 C++ shared library.

How do I make a GtkSharp app work on Windows

I am new at C# and mono. I just wrote a small GtkSharp program on my Ubuntu laptop and when I tried to run it on my girlfriend's windows 7 computer it just wouldn't start. So I thought it might be because she doesn't have Gtk installed. I found a site where I downloaded a Gtk installer and installed it, but the program still doesn't work.
What is the problem? I've seen the program work great on my Mac (which happens to have Mono installed) do I have to install mono on her computer?
You need the GtkSharp Runtime Redistributable to run your application on a Windows machine. GTK by itself does not provide GtkSharp or an appropriate CLR for your application. Try downloading from the Mono website.
Install mono and then try again.

C# in linux environment

I am currently working in C/C++ in a Unix environment and am new to Linux environments. I would like to learn about the Linux OS and learn C# as the next level of programming language for my career.
I decided to put Ubuntu Linux on my laptop. But I am not sure whether we can write, compile and run C# programs in Linux environments or not.
The only IDE I know for C# is MS Visual Studio. Is there are any possible way to work in C# in a Linux environment?
If I have no other option, I'll have both operating systems on my laptop - Vista to learn C# and Linux for the other OS.
Learn Mono.
The Mono Project is an open
development initiative sponsored by
Novell to develop an open source, UNIX
version of the Microsoft .NET
development platform. Its objective is
to enable UNIX developers to build and
deploy cross-platform .NET
Applications. The project implements
various technologies developed by
Microsoft that have now been submitted
to the ECMA for standardization.
You can use the MonoDevelop IDE.
MonoDevelop is a free GNOME IDE
primarily designed for C# and other
.NET languages.
Mono is an open source .NET compiler, runtime and library.
Monodevelop is an open source C# IDE, primarily intended for linux development. It includes a GUI designer.
You can also use wine, which is a free implementation of Windows' API.
For this :
sudo apt-get install wine
then you'll be able to run Microsoft applications and do [almost] everything you like.
EDIT : My mistake, Visual Studio is not functional :-(
A Vista virtual machine in seamless mode running Visual Studio? Then it will appear to integrate into your desktop like any other app, but you'll have the benefit of running the real MS stuff (with C#, having real MS is still a benefit rather than a liability).
I know this is an old question, but I see no one has mentioned Microsoft Visual Studio Code IDE. This could be what you are looking for if you want to do C# in Linux. As a relative NOOB I can say it brings Visual Studio to Linux. If you need a GUI IDE in Linux, this was it for me. see instructions to install it here

Categories

Resources