New-Object System.Windows.Media.Imaging.BitmapImage falhou no Windows 10

0

Estou reescrevendo um pequeno aplicativo do PowerShell que fiz há vários meses. Esta aplicação cria um NotifyIcon. Anteriormente, eu estava carregando o ícone (imagem) apontando o script no arquivo de imagem. Agora eu gostaria de incorporar o código da imagem diretamente usando o código Base64.

Isso funciona perfeitamente em uma máquina com Windows 7 e Windows Server 2012R2, mas falha no Windows 10 (atualizado).

Aqui está o comando que falha e o erro retornado:

New-Object System.Windows.Media.Imaging.BitmapImage

ERROR: New-Object : Cannot find type [System.Windows.Media.Imaging.BitmapImage]: verify that the assembly containing this type is loaded.

A versão do PowerShell na máquina com Windows 10, se o comando falhar:

PSVersion : 5.1.14393.187

A versão do PowerShell no Windows Server 2012 R2, onde o comando é executado:

PSVersion : 4.0

Alguém sabe como fazer isso funcionar no computador com o Windows 10 ou como carregar o assembly necessário na sessão do PowerShell?

    
por Ob1lan 30.09.2016 / 09:52

1 resposta

2

BitmapImage usa o assembly PresentationCore.

Carregue o assembly: Add-Type -AssemblyName PresentationCore .

Após o carregamento, você poderá ver uma lista de membros com [System.Windows.Media.Imaging.BitmapImage] | Get-Member . Se você tentou isso antes do assembly ser carregado, você receberá um erro TypeNotFound .

Agora você pode criar o New-Object .

    
por 30.09.2016 / 14:42