[Mono-list] Proper way to reference assemblies?

Jonathan Pryor jonpryor at vt.edu
Fri Sep 7 03:00:55 UTC 2012

On Sep 6, 2012, at 7:31 PM, kibagami <labra006 at csusm.edu> wrote:
> I'm trying to work with MonoDroid

The monodroid list would be more appropriate:


> anyhow, while coding; I've been trying to add extra .NET libraries that were not included with my eval pack and other pre-made C# classes to my mono solution.

If these are precompiled assemblies (i.e. you didn't build them yourself), this is unadvisable, and liable to blow up. Mono for Android is a distinct "profile," not entirely compatible with "regular" .NET. In the same way that you couldn't intermix .NET 3.5 assemblies and Silverlight 3 assemblies, you can't safely intermix Mono for Android assemblies with anything that wasn't compiled against the Mono for Android assemblies.

For example, if you use an assembly that uses System.Configuration, or System.Windows.Forms, it WILL fail on device, as those assemblies don't exist.

> All of the .NET and C# classes appeared to have been absorbed and consumed except for the a library written in VB.NET. 
> I keep on getting this error: 
> /Could not load assembly 'Microsoft.VisualBasic, Version=, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'./

Same problem: Mono for Android doesn't provide a Microsoft.VisualBasic.dll assembly, so your VB.NET assembly can't be used. Furthermore, you can't use Microsoft's Microsoft.VisualBasic.dll assembly, as it wasn't compiled against the Mono for Android assemblies, so it would likely fail to load at runtime.

Unfortunately you can't use VB.NET-generated assemblies with Mono for Android at this time.

 - Jon

More information about the Mono-list mailing list