Welcome to the "wonderful" world of Fusion. If you use Assembly.LoadFrom, then you can only use the assembly reference itself to get the types. The canonical names don't match assemblies loaded using LoadFrom. To use Assembly.Load, it has to be in one of the approved search paths (which, by default, is the path of the launching executable only, plus the GAC of course).
We went through an almost excruciating amount of pain with assembly load paths and such to make all this work correctly in xUnit.net. -- Brad http://bradwilson.typepad.com/ On Mon, Dec 8, 2008 at 12:33 PM, Aaron Feng <[EMAIL PROTECTED]> wrote: > Ok, I got Assembly.Load and Type.get_type both to work with my own DLL. > The actual DLL have to live where ir.exe lives. Is there a way for it to > look in the directory of the ruby file? Like the way require statement > work. > > Aaron > > > > On Mon, Dec 8, 2008 at 2:11 PM, Tomas Matousek < > [EMAIL PROTECTED]> wrote: > >> Can you load the assembly and get the type explicitly? >> >> >> >> require 'mscorlib' >> >> System::Reflection::Assembly.Load("IronNails.Library, Version=1.0.0.0, >> Culture=neutral, PublicKeyToken=null").GetType( >> 'IronNails.View.XamlProxy') >> >> >> >> Tomas >> >> >> >> *From:* [EMAIL PROTECTED] [mailto: >> [EMAIL PROTECTED] *On Behalf Of *Ivan Porto Carrero >> *Sent:* Monday, December 08, 2008 9:46 AM >> *To:* ironruby-core@rubyforge.org >> *Subject:* Re: [Ironruby-core] Handling C# lower case namespaces >> >> >> >> I get the same behavior. >> I can load types from the CLR but not from my own assembly. >> >> I copied my assembly into the folder that contains ir.exe >> >> >>> require 'mscorlib' >> => true >> >>> require 'IronNails.Library, Version=1.0.0.0, Culture=neutral, >> PublicKeyToken=null' >> => true >> >>> IronNails::View::XamlProxy >> => IronNails::View::XamlProxy >> >>> System::Type.get_type 'IronNails.View.XamlProxy' >> => nil >> >>> System::Type.get_type 'System.String' >> => #<System::RuntimeType:0x000005c> >> >>> IronNails::View::XamlProxy.to_clr_type >> => #<System::RuntimeType:0x000005e> >> >> >> >> On Mon, Dec 8, 2008 at 5:54 PM, Aaron Feng <[EMAIL PROTECTED]> wrote: >> >> Tomas, >> >> I tried it again. I couldn't get the following to work with my own DLL >> even If I capitalize the namespace (It does work fine with build in types >> like System.String): >> >> > System::Type.get_type("Abc.Hi, Version=1.0.0.0, Culture=neutral, >> PublicKeyToken=null") >> >> Do I have any other options? >> >> Thanks, >> >> Aaron >> >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core@rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> >> >> _______________________________________________ >> Ironruby-core mailing list >> Ironruby-core@rubyforge.org >> http://rubyforge.org/mailman/listinfo/ironruby-core >> >> > > _______________________________________________ > Ironruby-core mailing list > Ironruby-core@rubyforge.org > http://rubyforge.org/mailman/listinfo/ironruby-core > >
_______________________________________________ Ironruby-core mailing list Ironruby-core@rubyforge.org http://rubyforge.org/mailman/listinfo/ironruby-core