Hi,
I have problem using Assembly.GetTypes() in my application.My application is a
game that uses mono as scripting language. I follow the embed examples, and i
got it running.I can create mono object, and get my c code got called from
mono.All is working as expected, but when i try to call GetTypes(), i got the
following exception: "The classes in the module cannot be loaded."
I got the following log:
Game.Game()Assembly GhostAssembly H2OGame.Game() Got assemblyThe classes in the
module cannot be loaded.Game.Game() - Done
The assemblies show themselves in AppDomain.CurrentDomain.GetAssemblies().I
dont know what is happening here. I Pass my dll with migration verifier and the
test is ok.
Any Ideas?
Thanks
Here is my code:
using System;using System.Reflection;using
System.Runtime.CompilerServices;using H2O.Locale;using H2O.Drawing;using Ghost;
namespace H2O.Game{ public class Game { private
bool m_fullScreen; private bool m_autoSave; private
float m_autoSaveDelay; private Lang m_language;
private bool m_pause; private bool m_autoPause;
private Draw m_draw;
[MethodImplAttribute(MethodImplOptions.InternalCall)]
internal extern static void GameLog( string _log );
public static void Log(string _log) {
GameLog( _log ); }
public Game( Draw _draw ) {
Log( "Game.Game()" ); Assembly assembly = GetAssembly("H2O"
); Log( "Game.Game() Got assembly" );
try {
Type[] types = assembly.GetTypes();
foreach (Type type in types)
{ Log("Type: " + type.Name);
} } catch
(Exception e) { GameLog(
e.Message ); }
m_draw = _draw;
Log( "Game.Game() - Done" ); }
private Assembly GetAssembly( string _assemblyName )
{ foreach( Assembly assembly in
AppDomain.CurrentDomain.GetAssemblies() ) {
GameLog("Assembly " + assembly.GetName().Name );
if ( _assemblyName == assembly.GetName().Name )
{ return
assembly; } }
return null; }
public bool Pause { get {
return m_pause; } set { m_pause = value; } }
public Lang Language { get {
return m_language; } set { m_language = value; }
}
public bool FullScreen { get {
return m_fullScreen; } set { m_fullScreen = true; }
}
public bool AutoSave { get {
return m_autoSave; } set { m_autoSave = value; }
}
public float AutoSaveDelay {
get { return m_autoSaveDelay; } set { m_autoSaveDelay = value;
} }
}}
_________________________________________________________________
Hotmail: Trusted email with powerful SPAM protection.
http://clk.atdmt.com/GBL/go/177141665/direct/01/_______________________________________________
Mono-list maillist - [email protected]
http://lists.ximian.com/mailman/listinfo/mono-list