新对象与[类型] :: New(),脚本与ISE

S。改天,另一种PowerShell方法与.NET的交互我只是不明白。这次使用签名的XML,但这是如何创建新对象的问题。

$signedXml = New-Object system.security.cryptography.xml.signedXml -argumentList:$xml有效。但是在可能的情况下,我已经转到[type]::New()。和... $signedXml = [system.security.Cryptography.Xml.SignedXml]::New($xml)不起作用。在脚本中。在ISE中工作正常,但是当以脚本运行时,我得到

  

找不到类型[system.security.Cryptography.Xml.SignedXml]。

因此,在幕后进行的事情使得使用构造函数只能在ISE中起作用,而New-Object也可以在脚本中起作用。而且,一个人怎么会失败?我还有很多其他事情,已经转移到[type]::New()了,没有任何问题。当构造函数使我失败时,我唯一的选择是退回到Commandlet吗?在我看来,这导致代码的一致性和可读性降低。

zqx9665 回答:新对象与[类型] :: New(),脚本与ISE

在ISE中,它对我也不起作用,直到我做到了。也许您在ISE中加载了执行类似功能的模块。

using assembly system.security
,

尝试:

Using namespace System.Security.Cryptography.Xml;

Powershell可以调用C#之类的名称空间。

在Powershell Core中,以下代码对我来说似乎可以正常工作:

Using namespace System.Security.Cryptography.Xml;

$xml = [xml]::New()
$signed = [SignedXml]::New($xml)
本文链接:https://www.f2er.com/3135113.html

大家都在问