System.Transactions.TransactionScope отсутствует функция "new ()" - PullRequest
0 голосов
/ 25 мая 2020

Я использую PowerShell, чтобы немного протестировать AlphaFS. Хотя на моем Windows 10 dev env эта строка работает нормально:

PS C:\Users\Administrator [System.Transactions.TransactionScope]::new([System.Transactions.TransactionScopeOption]::Re
uiresNew)

На Windows Server 2012 R2 выбрасывается исключение.

Method invocation failed because [System.Transactions.TransactionScope] does not contain a method named 'new'.
At line:1 char:1
+ [System.Transactions.TransactionScope]::new([System.Transactions.TransactionScop ...
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : InvalidOperation: (:) [], RuntimeException
    + FullyQualifiedErrorId : MethodNotFound

Только методы, которые могут могут использоваться :: Equals () и :: ReferenceEquals (). Я не смог получить никакой информации об этой функции и о том, где она принадлежит. Нужно ли мне установить специфику c. NET Framework, чтобы заставить это работать?

Любая помощь приветствуется.

1 Ответ

0 голосов
/ 25 мая 2020

Метод вызова конструктора ::new() stati c впервые был представлен в PowerShell 5.0 .

Windows Server 2012 R2 поставляется с PowerShell 4.0

Для совместимости с версиями до 5.0 используйте New-Object вместо:

$transScope = New-Object System.Transactions.TransactionScope -ArgumentList ([System.Transactions.TransactionScopeOption]::RequiresNew)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...