我在GAC中安装了一个COM组件及其PIA。在PowerShell中,我可以
$a = New-Object -com MySvr.ProgId
$x = $a.Method([MySvrLib.MyEnum]::enumValue)并且它能够理解COM枚举类型。
但是,当我使用RunSpace在我的应用程序中托管PowerShell时,通过RunSpace.SessionStateProxy.SetVariable提供我的组件实例并调用以下代码:
$x = $a.Method([MySvrLib.MyEnum]::enumValue)我得到"Unable to find type MySvrLib.MyEnum:确保包含此类型的程序集已加载“。
有没有办法将组件的类型定义加载到托管的PowerShell实例中?
发布于 2011-02-10 07:49:09
在您的RunspaceConfiguration (配置新运行空间的选项)中,有一个Assemblies属性,您可以在其中添加指向您的AssemblyConfigurationEntry的PIA。注意: AssemblyConfigurationEntry的构造函数需要一个程序集限定名,如Microsoft.Office.Interop.Excel, Version=14.0.0.0, Culture=neutral, PublicKeyToken=71e9bce111e9429c。
https://stackoverflow.com/questions/4951586
复制相似问题