PowerShell не может найти сборку

220
22 августа 2021, 03:30

У меня есть скрипт который читает файл и запускает его.

[System.Reflection.Assembly]::Load($ba).EntryPoint.Invoke($null, $null)

Эта строка выдает ошибку:

Исключение при вызове "Invoke" с "2" аргументами: "Невозможно загрузить файл или сборку "System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" или о дин из зависимых от них компонентов. Не удается найти указанный файл." строка:7 знак:65 + $asm = [System.Reflection.Assembly]::Load($ba).EntryPoint.Invoke <<<< ($null, $null) + CategoryInfo : NotSpecified: (:) [], MethodInvocationException + FullyQualifiedErrorId : DotNetMethodTargetInvocation

Как ее можно исправить?

Answer 1

Если требуется перевести PowerShell второй версии на "рельсы" .NET Framework 4, можно, как уже было написано в комментарии к вопросу, в папке с powershell.exe (обычно это C:\Windows\System32\WindowsPowerShell\v1.0\) создать файл powershell.exe.config следующего содержания:

<?xml version="1.0"?> 
<configuration> 
    <startup useLegacyV2RuntimeActivationPolicy="true"> 
        <supportedRuntime version="v4.0.30319"/> 
        <supportedRuntime version="v2.0.50727"/> 
    </startup> 
</configuration> 

После [пере]запуска хоста PowerShell посмотреть на вывод команды $PSVersionTable, которая должна подтвердить что текущей CLR является четвертая версия.

READ ALSO
как сделать конкатенацию строк?

как сделать конкатенацию строк?

есть метод modelValue который принимает model animals и я хочу чтобы это метод сделал конкатенацию тех значений который находятся в (Name, Age),как это сделать?

236
Форма в виде панели C#

Форма в виде панели C#

Как сделать мою форму так, чтобы под нее нельзя было положить никакую другую форму, и к ней просто прилипали снизу окна других приложений?

104
Почему Soap ошибка?

Почему Soap ошибка?

Отправляю запрос в SoapUI и он мне выводит ошибку при вызове методаНо если пройти по данный ссылке то в браузере все выдается

159