2007年07月18日

アセンブリ名でロードする

  
"TestLib.TestClass, TestLib, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"

という typeネーム に対して、

Type type = Type.GetType(data.Type);
obj = Activator.CreateInstance(type);

としたら、エラーになる。
そうか、CreateInstance()は、勝手にアセンブリをロードしてくれないんだ。

ということで、
Assembly.LoadFrom(asm);
として、ロードしようとしたら、これまたエラーだ。
LoadFromには、ファイルパスを指定しないといけない。
アセンブリ名で、ロードするには、
Assembly.Load(asm);

としないといけないみたいだ。

ところで、記事先頭のタイプ名文字列から、アセンブリ名を取得するって、やはり自力でやらないといけないのかな。
まあ、それほど難しいコードじゃないけど、あっても良さそうなのに。


 

この記事へのトラックバックURL

http://trackback.blogsys.jp/livedoor/gushwell/50957863