System.Reflection.Assembly.GetExecutingAssembly.ImageRuntimeVersion
Puedes obtener la versión representativa del ensamblado actual, si hacemos
Assembly.LoadFile podemos obtener el ensamblado desde un archivo y posteriormente ver la versión, pero esta es solo representativa, me refiero a que es simplemente la que se guardo en el manifiesto del archivo, pero fácilmente puede haber una referencia que sea de una versión más alta, si lo quieres con la máxima precisión debes comprobar cual es la versión más alta de los ensamblados a los que hace referencia en
Assembly.GetReferencedAssemblies.