I'm trying to read all dependencies of one dll file in a known path. To do this I'm using reflection as this code shows:
For Each AsmName As AssemblyName In asm.GetReferencedAssemblies()
Try
Log += AsmName.Name & " : " & [Assembly].ReflectionOnlyLoad(AsmName.ToString).Location & vbCrLf
Catch ex As Exception
Log += AsmName.Name & " : NOT FOUND." & vbCrLf
End Try
Next
To test this I've developed a dll in VB NET with a few dependeces from other dll files made by me.
When I pass the file path, I can detect all assemblies which depends the file. But when I try to recover the file path of the dependencie I can find all file path for all dependencies excepts the dll files made by me.
When I run the code I'm obtaining the following log result:
mscorlib : C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\mscorlib.dll Microsoft.VisualBasic : C:\WINDOWS\assembly\GAC_MSIL\Microsoft.VisualBasic\8.0.0.0__b03f5f7f11d50a3a\Microsoft.VisualBasic.dll System.Xml.Linq : C:\WINDOWS\assembly\GAC_MSIL\System.Xml.Linq\3.5.0.0__b77a5c561934e089\System.Xml.Linq.dll System : C:\WINDOWS\assembly\GAC_MSIL\System\2.0.0.0__b77a5c561934e089\System.dll IM2_DataFile : NOT FOUND. System.Data : C:\WINDOWS\assembly\GAC_32\System.Data\2.0.0.0__b77a5c561934e089\System.Data.dll IM2_DataRow : NOT FOUND. System.Drawing : C:\WINDOWS\assembly\GAC_MSIL\System.Drawing\2.0.0.0__b03f5f7f11d50a3a\System.Drawing.dll IM2_DataProviderTools : NOT FOUND. System.Windows.Forms : C:\WINDOWS\assembly\GAC_MSIL\System.Windows.Forms\2.0.0.0__b77a5c561934e089\System.Windows.Forms.dll Telerik.WinControls.UI : C:\WINDOWS\assembly\GAC_MSIL\Telerik.WinControls.UI\2009.2.9.729__5bb2a467cbec794e\Telerik.WinControls.UI.dll IM2_DataRowPanel : NOT FOUND. Telerik.WinControls.GridView : C:\WINDOWS\assembly\GAC_MSIL\Telerik.WinControls.GridView\2009.2.9.729__5bb2a467cbec794e\Telerik.WinControls.GridView.dll IM2_Language_Controller : NOT FOUND. System.Core : C:\WINDOWS\assembly\GAC_MSIL\System.Core\3.5.0.0__b77a5c561934e089\System.Core.dll Telerik.WinControls : C:\WINDOWS\assembly\GAC_MSIL\Telerik.WinControls\2009.2.9.729__5bb2a467cbec794e\Telerik.WinControls.dll IM2_CommonTools : NOT FOUND.
All files that starts by IM2_ are the files what i want to get the path.
I've observed that the files wich can't find has PublicKeyToken=null. I've googled by this and it's because I didn't serializaed the classes when were compiled.
Please could anyone help me? The target is get all filepath of all dependencies of a dll file.
Thanks in advance.