Загрузка сборки .NET 4.0 beta2 в PowerShell 2.0

Я попробовал загрузить PresentationFramework.dll из .NET 4.0 beta2 в PowerShell v2.0. Но он не работает со следующей ошибкой.

PS C:\Windows\system32 > [Reflection.Assembly]:: LoadFile ( "C:\Windows\Microsoft.NET\Framework\v4.0.21006\WPF\PresentationF ramework.dll" )

Exception, вызывающий "LoadFile" с аргументом "1": "Эта сборка построена с использованием среды выполнения, более новой, чем текущая загруженная среда выполнения и не может быть загружена. (Исключение из HRESULT: 0x8013101B) На линии: 1 char: 32 + [Reflection.Assembly]:: LoadFile < < < (" C:\Windows\Microsoft.NET\Framework\v4.0.21006\WPF\PresentationFramework.dll")    + CategoryInfo: NotSpecified: (:) [], MethodInvocationException    + FullyQualifiedErrorId: DotNetMethodException

Как загрузить этот DLL файл в PowerShell 2.0?

Ответ 1

Вы не можете загрузить его. PowerShell использует .NET 2.0 CLR, а файлы DLL 4.0 не могут быть загружены.

Возможно, можно будет перенастроить PowerShell для запуска в новой среде CLR или хост PowerShell в приложении .NET 4.0, но я бы не рекомендовал ни одно из них.

Ответ 2

Запустите этот код в административном режиме PowerShell:

reg add hklm\software\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1
reg add hklm\software\wow6432node\microsoft\.netframework /v OnlyUseLatestCLR /t REG_DWORD /d 1