Is there a way to readily find the assemblies?
How to programmatically determine if a file is an assembly
Call the GetAssemblyName method, passing the full file path and name of the file you are testing.
If a BadImageFormatException exception is thrown, the file is not an assembly.
Call AssemblyName.GetAssemblyName and see whether it throws an exception.
In addition to Jeff's suggestion, there appears to be a method to test if an assembly is managed without throwing an exception documented here: http://www.codeguru.com/forum/showthread.php?t=424454
Actually, if you open a .NET Library / Application in a binary editor, you will see that the ASCI text "BSJB" is shortly followed by the version of the Framework that the DLL / EXE needs.
So, depending on the presence of this search attribute, you can not only identify whether the library / executible is a managed library, but also the version of the Framework it uses.