internal String FindAssembly(String name){
String path = name;
if (Path.GetFileName(name) == name){ // just the filename, no path
// Look in current directory
if (File.Exists(name))
path = Directory.GetCurrentDirectory() + Path.DirectorySeparatorChar + name;
else {
// Look in COM+ runtime directory
String path1 = this.RuntimeDirectory + Path.DirectorySeparatorChar + name;
if (File.Exists(path1))
path = path1;
else{
// Look on the LIBPATH
String[] libpathList = this.LibpathList;
foreach( String l in libpathList ){
if (l.Length > 0){
path1 = l + Path.DirectorySeparatorChar + name;
if (File.Exists(path1)){
path = path1;
break;
}
}
}
}
}
}
if (!File.Exists(path))
return null;
return path;
}