HOWTO: Easily determine if a file is a managed assembly
This is a question I’ve seen float around several times. It’s an innocent question that I would think would be easy to find but the continued stream of questions quickly blows that hypothesis. So, I’ll try to increase the I-Gravity of my post by listing some of the various forms of this question.
- Is there a way to know if a file is a managed assembly?
- How can I tell if a given file is managed code?
- How do you verify that a DLL is managed?
If you’ve got your own version of this question please feel free to leave a comment so that other people asking this question can easily acquire it.
Oh, here’s the (managed code) answer:
You can easily check for this by calling Assembly.Load() on a particular file. If that file is a managed assembly this call will succeed. If it fails you’ll get a System.BadImageFormatException.
I-Gravity: i-grav-i-ty
Pronunciation: ‘I-gra-v&-tE
Function: noun
Usage: often attributive
Etymology: English
Synonym: google juice