我在 Powershell 中使用 .net 程序集。此代码成功运行:

[Reflection.Assembly]::LoadFile("E:\Workspaces\RTE\dh.PSP.Common\Mainline\Source\dh.Common.MetaData\bin\dh.Common.Metadata.dll")
$marketMetadataRepository = New-Object dh.Common.Metadata.MarketMetadataRepository

结果:



所以有人会认为这也会成功:
Add-Type -AssemblyName
"E:\Workspaces\RTE\dh.PSP.Common\Mainline\Source\dh.Common.MetaData\bin\dh.Common.Metadata.dll"

但不是:



我很困惑为什么一种方法有效而另一种方法无效。有任何想法吗?

最佳答案

Add-Type 的 -assemblyname 参数需要完整或部分程序集名称。尝试使用 -path 代替。

关于.net - 通过反射加载程序集成功,Add-Type 不成功,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27403854/

10-14 02:07