Is it possible to compile C# in ubuntu using sharpdevelop?
I am searching for an alternative for monodevelop
Nope, you'll need to use MonoDevelop. SharpDevelop is Windows-only and not supported on Ubuntu.
But you can help with the MonoDevelop project to make it better.
As far as I know SharpDevelop is using a lot of win32 calls, this is why is not 100% percent a .net application and runs only on windows.
It would be possible to run under wine, the information on WineHQ AppDb is very old about it.
I had try with wine debian version 1.0.1-3.5 and it was not possible to install dotnet40 using winetricks, when try to install the msi installer for SharpDevelop it fails with the message that "This setup requires the .NET 4.0 Full Framework to be installed"
I'll try using a newer version of wine and comment here what happend.
OT: MonoDevelop is a great solution, it could be even better if has one competitor in the Linux environment.
Related
I've been trying to port a .NET library built on/for Windows to Ubuntu 11.04 using Mono. The library uses .NET 4.0 so the version of mono (2.6.7) that is standard with Ubuntu 11.04 doesn't cut it. Specifically, I'm trying to use Microsoft.VisualBasic.Devices.Computer.Info.TotalPhysicalMemory. I've searched high and low for packages or parallel build scripts that install Microsoft.VisualBasic.dll, but none of them do.
Ideally I'd like to find a way to get the best of both worlds, Mono with .NET 4.0 support and Microsoft.VisualBasic so that the code won't have to be modified. I would settle for an alternative that uses another method (although, the P/Invoke method I saw in this previous post does not appeal to me).
Any help is greatly appreciated.
It looks like getting VB.dll won't help you either. This method is not implemented in Mono:
https://github.com/mono/mono-basic/blob/master/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.Devices/ComputerInfo.vb
You could try to fool Cudafy by creating your own version of the DLL.
Use reflector or check here to see the interface
https://github.com/mono/mono-basic/blob/master/vbruntime/Microsoft.VisualBasic/Microsoft.VisualBasic.Devices/ComputerInfo.vb
You can use a performance counter on Mono to actually get the amount of memory;
var pc = new PerformanceCounter("Mono Memory", "Total Physical Memory");
var mem = pc.RawValue();
You can use the MoMA tool to check how compatible mono is for your project.
In your particular case the method you need isn't implemented, if that's the only thing preventing your project from working, you can implement it, and build and provide your own MS.VB.dll until mono releases a version with the change in it. Once you've built mono-basic it's simple to install on any machine (with mono already installed), just run:
gacutil -i path/to/MS.VB.dll
and the dll will be installed into the gac.
I want to start doing a cross platform project that will run on Linux and Windows.
I went to mono's website to check things out as I heard mono allows me to run c# on Linux, but when I arrived there http://mono-project.com/Main_Page I was a bit confused.
The download page allows me to download it just fine but in order to program mono on VS2010 I need to pay for mono-tools or are there any alternatives within VS2010 ?
In short what do I need to be able to use mono with VS2010 and what are the alternatives to programming mono without VS2010 ?
You can develop in Linux using MonoDevelop.
You can also develop on Windows using Visual Studio 2010 Express Edition, and target the Microsoft .NET Framework. You can then run your assemblies through the Mono Migration Analyzer (MoMA) to make sure they'll run successfully on Linux/Mono. Since Mono uses the same standard IL as the Microsoft framework, the application will run unchanged on Linux, provided you stick to supported portions of the framework.
You don't need to do anything special in your .NET development in order to use mono (aside from writing compatible code). Mono is simply a free implementation of the .NET framework, which will simply run applications written for .NET, regardless of underlying OS platform (i.e. Linux).
Basically, you just need to develop your .NET application as normal, and then you can run that application on mono if you so choose. Since Mono is it's own implementation, there may be some differences, and you can use the Mono compatibility tool to ensure that the .NET code you've written is compatible with Mono's implementation of the .NET framework.
You may also want to download a VMWare image of Mono or something similar if you'd like to spin up a Linux virtual machine for testing of how your application actually runs on a Mono-enabled machine once you've started development.
I am not sure that I am asking right question. But I have a suspicion that I can build a .net solution file for a mac computer. Please let me know if I can. Also the pros and cons.
Thanks
Mono is probably your best bet for working with .NET on non-Windows platforms.
Pros
Great support for the majority of .NET functionality
Ability to build and run .NET apps on non-windows platforms
Cons
Tooling is different (better or worse in different cases) than the Microsoft tools (e.g. MonoDevelop vs. Visual Studio)
Mono is one option, but depending on what parts of the .NET framework you need Silverlight might be an option as well. Mono is an open source project, which always has to chase Microsoft from behind, while Silverlight for Mac is a Microsoft release.
If you can live with the limitations of Silverlight, I'd definitely choose it instead of Mono. If you go the Mono way, be sure to test your application with Mono early and often, as there are incompatibilities.
You can use Mono on the Mac:
Mono has supported MacOS X since
version 10.3 (Panther) and supports
both Intel and PowerPC based versions
with both 32 bits and 64 bits
configuration supported.
You can use Mono on OSX to build
server, console and GUI applications.
Read below for the options available
for GUI application development.
Yes. It's called Mono. http://www.mono-project.com/Main_Page
can somebody pls tell me how to install C# in Mac OSX 10.6?
You can try something like Mono.
Since Visual Studio 2017, Microsoft now offers support for Mac OS. Developers can get the community edition for free which comes with the option to install C# and the .NET framework. However, the .NET framework appears to be limited at this time of writing to version 2.1 on Mac OS.
Aside, I understand this version also includes support for iOS, Android, and Unity.
... not to be confused with the lightweight Visual Studio Code.
You can use Homebrew to install the latest version of .NET using the dotnet cask:
brew install --cask dotnet
See https://stackoverflow.com/a/57880964/1110395 for installing specific versions with Homebrew.
Manual installers can be downloaded from https://dotnet.microsoft.com/download
Is there any way to run the .NET exe (of a winform app) in Linux without building the code in linux? In fact I don't have the code for some of the utilities I developed earlier and would like to run them in linux.
Related to : Feasibility of C# development with Mono
Mono ! http://mono-project.com/Main_Page
Works great too. There's a growing tool support, C# compiler etc
in a growing community.
You can test it by using the Mono Migration Analyzer or by actually testing it using the Mono command prompt...covered in this article
Wine + .NET