我正在制作一个Powershell(v2.0)脚本。
它做的第一件事就是加载一个Module(runMySQLQuery.psm1),它包含一个连接MySQL数据库的函数(以及其他位)。
Import-Module runMySQLQuery.psm1
但是,这需要加载程序集MySQL.Data.DLL
才能使其正常工作。
如果我放行:
[void][system.reflection.Assembly]::LoadFrom("C:\PowerShell\modules\runMySQLQuery\MySql.Data.dll")
在我的脚本顶部(与Import-Module条目分开),然后整个工作正常。
但是我希望能够在模块的同时加载这个程序集,这样我就不必担心每次使用这个模块时都忘记包含程序集。
我尝试将它放在.psm1文件的顶部,但这不起作用。
然后我将它添加到我的清单文件中:
RequiredAssemblies = @("C:\PowerShell\modules\runMySQLQuery\MySql.Data.dll")
这也行不通。
我在这里遗漏了什么,有没有一种方法可以将程序集作为模块的一部分包含在内?
n.b。我没有正确加载时得到的错误是:
You cannot call a method on a null-valued expression
答案 0 :(得分:1)
您可以尝试在模块的开头指定一个变量:
$dumy = [system.reflection.Assembly]::LoadFrom("C:\PowerShell\modules\runMySQLQuery\MySql.Data.dll")