Click here to Skip to main content
15,886,110 members
Please Sign up or sign in to vote.
0.00/5 (No votes)
See more:
Hi All,


In my Application, I have about 600 binaries viz., COM DLL, Win32 Dll, OCX & .Net Dll's, but I need to identify the .NetDll's among them, In this context let me know, what is the distinguishing feature of .Net Dll's/Assemblies compared to other Dll's ?

For Example we are able to identify COM Dll's by presence of following attribute viz., (InProcServer) DllRegisterServer, but I wasn't able to similarly figure out, .NetDll/Assemblies.
Since, I am new to .Net , I need some assitance in resolving the above issue.


Details:

VS 2008 IDE , Window 7 O/S,(.Net 4.5)

With Regards,
Vishal_K89
Posted

Try to open all DLLs with Reflection. When it fails, it's not a .NET DLL. This is exactly what I did in such situation, it works.

—SA
 
Share this answer
 
Non programmatically you can right click the dll & select properties to open properties dialog. In the version tab if you see Assembly Version under Item name listbox then it's a managed dll. You can also use Assembly class to programmatically determine whether a given dll is managed or not.
C#
bool IsManaged(string path)
{
    try
    {
        Assembly.ReflectionOnlyLoadFrom(path);
        return true;
    }
    catch(BadImageFormatException e)
    {
        // Code to print the error
    }
    return false;
}

Regards,
 
Share this answer
 

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)



CodeProject, 20 Bay Street, 11th Floor Toronto, Ontario, Canada M5J 2N8 +1 (416) 849-8900