Я переписываю небольшое приложение PowerShell, которое я сделал несколько месяцев назад. Это приложение создает NotifyIcon. Ранее я загружал значок (изображение), указывая сценарий на файл изображения. Теперь я хотел бы встроить код изображения напрямую, используя код Base64.

Это прекрасно работает на компьютере с Windows 7 и Windows Server 2012R2, но не работает в Windows 10 (обновлено).

Вот команда, которая терпит неудачу и возвращенная ошибка:

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

ОШИБКА: New-Object: Невозможно найти тип [Система.Окна.Средства массовой информации.Обработки изображений.BitmapImage]: убедитесь, что сборка, содержащая этот тип, загружена.

Версия PowerShell на компьютере с Windows 10, где команда не выполняется:

PS Версия: 5.1.14393.187

Версия PowerShell на Windows Server 2012 R2, в которой выполняется команда:

PSВерсия: 4.0

Кто-нибудь знает, как заставить его работать на компьютере с Windows 10 или как загрузить необходимую сборку в сеансе PowerShell?

1 ответ1

2

BitmapImage использует сборку PresentationCore.

Загрузите сборку: Add-Type -AssemblyName PresentationCore .

После загрузки вы сможете увидеть список участников с [System.Windows.Media.Imaging.BitmapImage] | Get-Member . Если вы попытаетесь сделать это до загрузки сборки, вы получите ошибку TypeNotFound .

Теперь вы можете создать New-Object .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .