无法通过PowerShell获取.NET程序集名称

时间:2017-10-31 03:29:55

标签: .net powershell system.reflection

我正在尝试使用我的应用程序调试DLL加载问题,我的部分过程涉及验证程序集的运行时依赖性。我想检查我的DLL的位数,以确保没有任何不匹配。

无论如何,我试图使用PowerShell来做到这一点,但它永远无法找到我指定的DLL。作为一个完整性检查,我决定尝试.NET 4程序集,它仍然失败。

请看下面的图片 - 我在这里做错了什么?

enter image description here

我在其他地方看到了一些建议,例如以管理员身份运行PowerShell以及使用Set-ExecutionPolicy unrestricted。我做过那些,没有任何成功。

1 个答案:

答案 0 :(得分:1)

在将相对路径传递给.NET方法之前,请执行以下操作,以确保.NET使用与PowerShell相同的工作目录(默认情况下) ,不幸的是):

[Environment]::CurrentDirectory = $PWD

或者,使用$PWD作为前缀相对路径将它们转换为绝对路径;在你的例子中:

[System.Reflection.Assembly]::GetAssemblyName("$PWD\System.Net.dll")