我正在使用 PowerShell 5.1、Windows 10 x64。
我应该使用这 2 个 cmdlet 中的哪一个来将 .NET 程序集(特别是 .NET Framework 4+ 程序集)加载到 PowerShell 中?它们之间的核心区别是什么?我想加载程序集以访问类型、创建对象、调用方法等。
我在文档中没有找到任何明确的陈述。这些 cmdlet 被描述为完全不同的东西。MSDN 文档Import-Module
甚至不包含.dll
加载程序集的示例——只有 PowerShell 模块。但是Import-Module
适用于 .NET Framework 程序集(.dll
尽管如此):我可以完美地使用导入程序集中的类型,它们引用的程序集也被解析和加载。这是为什么?
换句话说,根据我的经验,我还没有发现这两种程序集导入方法之间有任何区别(至少对于 .NET Framework 4.dll
程序集而言)。
这篇旧博文:在 Windows PowerShell 中使用 .NET Framework 程序集甚至使用Reflection.Assembly.LoadWithPartialName
! 我相信这是因为他们从 GAC 加载程序集并且不想指定它的完整路径(不过我可能错了)。
对于我的程序集,我知道它们的完整路径,因此我可以在Import-Module
和中指定它Add-Type
。同样,有什么区别,我应该使用什么?
谢谢!