如何在Powershell脚本中添加Microsoft.WindowsAzure.Storage程序集

问题描述

Add-Type -Path c:\AzureStorageFile\Microsoft.WindowsAzure.Storage.dll

$AzStorObject = New-Object -TypeName Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext

给我错误

New-Object:找不到构造函数。找不到类型Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext的适当构造函数

解决方法

您没有将-ArgumentList参数传递给New-Object,因此,在尝试实例化指定的类型时,它将查找不带参数的构造函数。 AzureStorageContext class的无参数构造函数是protected,而不是public,但是...

protected AzureStorageContext ();

...因此New-Object将无法调用它。

Azure.Storage package使用相同的Microsoft.WindowsAzure.Storage.dll程序集。安装后...

Install-Module -Name Azure.Storage

...您可以调用New-AzureStorageContext cmdlet来创建AzureStorageContext实例...

$AzStorObject = New-AzureStorageContext # Additional parameters needed

否则,将有public类的AzureStorageContext构造函数...

public AzureStorageContext (Microsoft.WindowsAzure.Storage.CloudStorageAccount account);

...如果您通过CloudStorageAccount实例,可以使用...

$AzStorObject = New-Object -TypeName Microsoft.WindowsAzure.Commands.Storage.AzureStorageContext -ArgumentList $myCloudStorageAccount