无法在powershell脚本中调用IFileSystemOperations.Open()方法

时间:2018-05-30 19:10:02

标签: c# .net powershell azure

我正在将名为_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中完美运行时,我收到上述错误。

1 个答案:

答案 0 :(得分:3)

Openextension 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>)