我正在将名为_adlsFileSystemClient
的DataLakeStoreFileSystemManagementClient实例传递给powershell脚本,并从那里开始,我希望执行以下操作。
_adlsFileSystemClient.FileSystem.Open(_adlsAccountName, filePath))
以下是我的Powershell脚本
param([System.Object]$dlsFSMC)
Add-Type -Path C:\Users\..\source\repos\tester\packages\Microsoft.Azure.Management.DataLake.Store.2.4.0-preview\lib\net452\Microsoft.Azure.Management.DataLake.Store.dll"
$strm = $dlsFSMC.FileSystem.Open(<name>,<path>)
在名称和路径中,我在这些地方有实际的字符串值。 我收到如下错误消息。
方法调用失败,因为 [Microsoft.Azure.Management.DataLake.Store.FileSystemOperations]可以 不包含名为“Open”的方法。
我很困惑,为什么当_adlsFileSystemClient.FileSystem.Open(_adlsAccountName, filePath))
在Visual Studio中完美运行时,我收到上述错误。
答案 0 :(得分:3)
Open
是extension method,要调用它,您需要调用静态函数并传入对象。
param([System.Object]$dlsFSMC)
Add-Type -Path C:\Users\..\source\repos\tester\packages\Microsoft.Azure.Management.DataLake.Store.2.4.0-preview\lib\net452\Microsoft.Azure.Management.DataLake.Store.dll"
$strm = [Microsoft.Azure.Management.DataLake.Store.FileSystemOperationsExtensions]::Open($dlsFSMC.FileSystem, <name>,<path>)