Assembly name

Gentoo Mono Handbook
 
http://stackoverflow.com/questions/1410312/parsing-assembly-qualified-name

There is a parser implementation in Mono and BNF grammar on MSDN

AssemblyNameSpec           :=   IDENTIFIER

                                        |     IDENTIFIER ',' AssemblyProperties

AssemblyProperties            :=   AssemblyProperty

                                        |     AssemblyProperties ',' AssemblyProperty

AssemblyProperty              :=   AssemblyPropertyName '=' AssemblyPropertyValue


The AssemblyName class can parse the assembly name for you, just pass in the string to its constructor.
Stripping the name is usually very complex.
Consider even simple Tuple<int,string>:
"System.Tuple`2[[System.Int32, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.String, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]], mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"
AssemblyName constructor throws FileLoadException unless it's able to load the assembly

Func<AssemblyName, Assembly> assemblyResolver

http://stackoverflow.com/questions/4085613/parse-assembly-qualified-name-without-using-assemblyname

https://github.com/jbevain/cecil/blob/master/Mono.Cecil/AssemblyNameReference.cs