I'm using PowerShell 5.1, Windows 10 x64.
Which of these 2 cmdlets should I use to load .NET assemblies (in particular .NET Framework 4+ assemblies) into PowerShell? What's the core difference between them? I want to load assemblies for accessing types, creating objects, calling methods, etc.
I haven't found any explicit statements in the documentation. These cmdlets are described like they are completely different things. MSDN documentation for Import-Module doesn't even contain examples for .dll assemblies loading -- only PowerShell modules. However Import-Module works with .NET Framework assemblies (.dll only, though): I can perfectly work with types from the imported assemblies, their referenced assemblies are resolved and loaded too. Why is that?
In other words, from my experience I haven't yet found any differences between these 2 assemblies importing methods (at least for .NET Framework 4 .dll assemblies).
This old blog post: Using .NET Framework Assemblies in Windows PowerShell even uses Reflection.Assembly.LoadWithPartialName! I believe this is because they load an assembly from the GAC and do not want to specify full path to it (I may be wrong, though).
For my assemblies I know full path to them, so I can specify it in both Import-Module and Add-Type. Again, what's the difference and what should I use?
Thanks!