>>464
> どうやら 自分のアセンブリ名 と ベースとなる DLL のアセンブリ名 が同じ場合,
> このようなエラーがエラーが発生するようです。

アセンブリ名を勘違いしているな。アセンブリ名=ファイル名ではない。
例外を見てみ。
>>>未処理の例外 : System.TypeLoadException: アセンブリ 'lib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' から型'Lib' を読み込めません。
ってなってるっしょ。この場合のアセンブリ名ってのは、
  'lib, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null'
これなの。だからファイル名が同じとか違うとか関係ないんだよね。

DLLのほうのソースに、
  using System.Reflection;
  [assembly:AssemblyVersion("1.0.0.0"),AssemblyCulture("ja-JP")]
こんなの追加して、DLLとEXEをリコンパイルしてみ。んで、DLLは
./ja-JP/xxx.dllにおく。そうすれば、ファイルの拡張子より上が同じでも
ロードできるよ。これはアセンブリ名が変わるからだ。ファイル名は同じでもね。