Проверьте класс Path . Он имеет множество функций для анализа имен файлов.
Или вы можете попробовать:
string qualType = @"System.String, mscorlib, Version=2.0.0.0, Culture=neutral, publicKeyToken=b77a5c561934e089";
Type t = Type.GetType(qualType, false);
if (t == null)
{
Console.WriteLine("Invalid qualified type string.");
return;
}
Console.WriteLine(t.FullName);
Так у вас есть что-то подобное?
Assembly assem = Assembly.LoadFile("PathToTheAssembly.dll");
Type t = assem.GetType("Namespace.And.Type.Name");
t.FullName
Если вы хотите проанализировать форму BNF , приведенный выше пример использования GetType должен работать для вас.
РЕДАКТИРОВАТЬ: Хорошо, это должно делать то, что вы хотите, если у вас есть имя:
Assembly assem = Assembly.GetAssembly(Type.GetType(assembly_qualified_name, false));
if(assem != null)
{
byte[] pkt = assem.GetName().GetPublicKeyToken();
Version ver = assem.GetName().Version;
CultureInfo ci = assem.GetName().CultureInfo();
}