【问题标题】:System.Transactions.TransactionScope missing function "new()"System.Transactions.TransactionScope 缺少函数“new()”
【发布时间】:2020-05-25 13:26:18
【问题描述】:

我正在使用 PowerShell 来测试一下 AlphaFS。 虽然在我的 Windows 10 开发环境中,这条线运行得很好:

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()。 我无法获得有关该功能及其所属位置的任何信息。我是否需要安装特定的 .NET Framework 才能使其正常工作?

任何帮助表示赞赏。

【问题讨论】:

    标签: .net powershell transactions transactionscope


    【解决方案1】:

    ::new() 静态构造函数调用方法最初是在 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)
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多