Это работает для меня.Мои шаги:
Я собираю сборку C ++ / CLI .NET 4.0 с одним исходным файлом (кроме stdafx. *):
#include "stdafx.h"
namespace Fix
{
public enum class Side
{
SideBuy = '1',
SideSell = '2'
};
}
Затем я создаю и вызываю этот тестовый скрипт:
Add-Type -Path "C:\...\TryEnum40.dll"
[Fix.Side]::SideBuy
Работает: значение перечисления печатается как положено.
Как настроить PowerShell для работы с .NET 4.0?Я не использую какие-либо хитрости в реестре.Я создаю файл XML «powershell.exe.config» в домашнем каталоге PS (или в домашнем каталоге приложения, которое реализует хост PowerShell (например, MyApp.exe.config), я тоже попробовал такой сценарий).
<?xml version="1.0"?>
<configuration>
<startup useLegacyV2RuntimeActivationPolicy="true">
<supportedRuntime version="v4.0.30319"/>
<supportedRuntime version="v2.0.50727"/>
</startup>
</configuration>
x64 машина: файл также необходимо скопировать в C: \ Windows \ SysWOW64 \ WindowsPowerShell \ v1.0
PS Если это по-прежнему не помогает, не могли бы вы предоставитьточное сообщение об ошибке, которое вы получаете?