2011-11-22 83 views
0

我在GAC中获得了两个DLL文件。当一个DLL文件引用另一个DLL文件时,使用PowerShell中的两个DLL文件

DLL我用下面的方法来加载DLL文件的文件A引用的DLL文件B.

从PowerShell脚本:

[Reflection.Assembly]::Load(full name of dll B) 
[Reflection.Assembly]::Load(full name of dll A) 

尽管这样,当DLL文件A需要使用一些来自BI的类获得以下错误。

找不到文件'C:\ WINDOWS \ system32 \ WindowsPowerShell \ v1.0 \ B.dll'。

回答

0

如果两个DLL是在同一目录下,你可以尝试:

[reflection.assembly]::loadfrom(full name of dll A) 
+0

这解决了这个问题。但是这是一个意外:我们以前一直以管理员身份运行脚本,但是我的大学在运行之后以普通用户的身份运行它。到那时Load被替换为LoadFrom。 仍然困惑为什么在这种情况下用户拥有什么特权? – naeron84

4

您可以使用:

Add-Type -Path path\to\A.dll