How to compile Mono with vb.net support - vb.net

I've downloaded latest source from mono project, compiled it and everything works (c# projects, mod_mono, xsp) except vb.net. Vbnc, mono's vb.net compiler does not exist after compiling mono from source.
This is on CentOS 5, on Ubuntu 10.04 I installed mono packages via apt-get and vb.net just works.
What am I missing, or how to get vb.net support?

Mono's VB.Net support is in a separate module.
Either download the 'mono-basic' tarball:
http://ftp.novell.com/pub/mono/sources-stable/
or get it directly from SVN:
http://anonsvn.mono-project.com/viewvc/trunk/mono-basic/
or you can simply copy over what you need from a working system, like vbnc.exe and Microsoft.VisualBasic.dll.

All information about VB.NET on Mono is available at http://www.mono-project.com/Language_BASIC
Precompiled VB.NET assemblies can just be run with Mono.
The Mono VB.NET compiler is called vbnc.
If you need further help, can you please specify what exactly doesn't work? Does the compiler executable not exist, will VB.NET programs not run, or are you referring to MonoDevelop support?
(If the latter, make sure you have the latest MonoDevelop...)

Related

How to compile VB.net in linux in monodevel?

I have a 500 line code that I wrote in vb net when I had windows.
In the meantime, I switched to Ubuntu. I can do only vb.net. I tried mono develop but it is so painful because it says console.writeline is not a command, or application.commandlineargs is invalid.
I tried installing packages available for mono for those commands and system.console did not work even though the package was included.

Need GTK# 64bit library

I am trying to create a 64bit Gtk GUI with the GTK# library and am not having much luck. I'm using Visual Studio 2008, version 3.5 of C#. I obtained version 2.8.5 of the GTK# source and modified the makefiles to compile 64bit. I compiled this source against the 64bit version of GTK+ v2.22. The source compiled and I was able to import the "sharp" DLLs into my VS project.
When I try to run my app, it complains that it's trying to load a 32 bit GTK assembly. I altered the makefiles to use the 64bit versions of MinGW compiler and dllwrap and added the /platform:x64 directive to calls to CSC.exe. I am at a loss. I must be missing another flag/directive for 64bit somewhere.
Has anyone else tried to compile GTK# for 64bit? Does anyone know of a place to download precompiled 64bit versions?
I'm pulling my hair out trying to make this work. I would greatly appreciate any help on this.
Steve---

how to enable Mono.Simd

I'd like to use Simd in Mono, but the following code is highlighted as error in MonDevop
using Mono.Simd
I already installed the "Mono 2.8 for Windows", what else I need to install to enable Mono.Simd?
In this link
http://tirania.org/blog/archive/2008/Nov-03.html
It talk about the tarbal, but after download it an uncompress it (mono-Mono.Simd.Math-942e804), there are many cs file and no dll file.
Did you add the Mono.Simd.dll to the build? MonoDevelop correctly highlights the error because in the assemblies you're using there isn't any Mono.Simd namespace.
Mono.Simd.dll is included in recent Mono releases.
As for the other answer, Mono.Simd works on any operating system on x86 and amd64, not only on Linux.
Mono.Simd only works when you run your programs on Mono runtime, on a supported operating system. If I'm not mistaken, it's currenly restricted to 32 & 64 bit Linux. Even if you manage to compile it on Windows, you won't get any speed benefit from it.
MonoDevelop for Windows runs on the .Net runtime, while the Mono.Simd.dll that comes with Mono 2.8 is installed in Mono's GAC.
You will need to Add Reference in your project to the Mono.Simd.dll that came with Mono 2.8.
It should be roughly in:
C:\Program Files (x86)\Mono-2.8\lib\mono\2.0\Mono.Simd.dll.

How to develop IronPython applications on Mono?

I might need to write some GUI application that runs on .Net (and Windows), while what I can work with is Mono (on Ubuntu and/or Gentoo). I am very familiar with Python; in addition, I understand that the Mono Windows.Forms assemblies seem to be satisfactorily usable (I've run successfully .Net applications using Windows.Forms).
What are the steps I would have to take to have an environment where I can develop stand-alone IronPython on a GNU/Linux maching? Also, I would very much appreciate some .Net-Mono compatibility pointers (e.g. things I should know or avoid).
I'm not looking for an IDE; I'm quite at ease using vim for my editing purposes, and I don't mind building GUIs programmatically.
Note: what I'm actually asking, is help with the following:
I obviously have to install IronPython; so I make sure my Mono packages are installed, then I run the IronPython installer (using Mono, obviously) just like I would on Windows? Will this make the IronPython assemblies available to Mono? If not, how can I do that? Ubuntu 9.10 has a package for IronPython, but it's not the latest version; at the same time, for compatibility purposes, I can't upgrade the Ubuntu installation. I can't find an ebuild for Gentoo.
Do I have to install any more assemblies?
After I successfully install IronPython, how do I create a .Net/Mono executable from my IronPython sources? Is there a “proper” way?
Is there a way to “embed” the IronPython (and any other required) assemblies in the final .exe?
Check Windows Forms section on IronPython Cookbook for hints about creating Windows Forms applications.
As to the environment, I would write the app in Mono and check it works on Windows. I would set up two virtual machines and any source control system to transfer sources between them.
The key part is to write and run tests so you can verify it works on both platforms. So you cannot use just GNU/Linux machine to be sure. But I think you can install Windows 7 for 30-days trial period.
I used to write WinForms tests so here is link to my blog and several other articles:
GUIAT blog
Acceptance Testing .NET Applications using IronPython
Functional Testing of GUI Applications
IronPython says it requires Reflection.Emit and lightweight code generation. FAQ iOS tends to frown on that kind of thing. So if you want to do iOS, you may be out of luck.

Adding reference to external .dll on Linux

I'm building an F# application with Mono on a Linux box but need to reference a DLL from the F# Power Pack.
How can I do this?
Adding references on Mono works exactly the same way as on Windows. You just need to download PowerPack (there is a ZIP download, which can be extracted on Linux). When building your F# application from the command line, you just specify the reference:
mono <fsharp-path>/fsc.exe
--resident
-r:<powerpack-path>/FSharp.PowerPack.dll
input.fs
This should work just fine (Note the --resident option, which starts F# compiler process in the background and so it makes F# compiler on Mono faster, because it isn't JITted again each time it starts).