Is there a method to determine the original language of a .NET assembly if the source code is not available?
Not really, but you can sometimes make a guess.
For example, if you have a VB.NET assembly containing anonymous types, the compiler-generated name in the assembly will look something like this:
VB$AnonymousType_T<T0, T1>
Anonymous types in a C# assembly look like this:
<>f__AnonymousType0<....>
Different compilers will implement these sorts of things slightly different. C++/CLI assemblies tend to have lots of types in the assembly with "funny" names (for things like functions that belong to the global scope and so on).
Visual Basic applications also reference the Microsoft.VisualBase assembly (though any .NET app can technically reference any assembly, so that's not a 100% indicator).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With