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

Reply via email to