gpt4 book ai didi

c# - 从特定路径加载强名称程序集?

转载 作者:行者123 更新时间:2023-11-30 20:11:58 25 4
gpt4 key购买 nike

我有一个强名称程序集,安装到特定文件夹(而不是 GAC)。

Reflector 中显示的名称是:

"Foo.Bar.TreeFrog, Version=1.2.1.0, Culture=neutral, PublicKeyToken=ac88c4a8b22089b4"

安装路径是

"c:\\QueueBall"

我可以使用 Assembly.LoadAssembly.LoadFrom 加载它吗?如果可以,如何加载?

我能否确保强命名得到尊重,即我正在加载的 DLL 确实是我所期待的,而不是具有相同名称的冒名顶替者?

最佳答案

你可以使用 LoadFrom :

var assembly = Assembly.LoadFrom(@"c:\QueueBall\Foo.Bar.TreeFrog.dll");

请注意,这还会将引用的程序集加载到运行此代码的应用程序域中。如果你不想要这种行为,你可以使用 LoadFile方法。


更新:

您可以在加载之前检查程序集标识以确保它没有被篡改:

AssemblyName an = AssemblyName.GetAssemblyName(@"c:\QueueBall\Foo.Bar.TreeFrog.dll");
byte[] key = an.GetPublicKey();
Version version = an.Version;

关于c# - 从特定路径加载强名称程序集?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3103858/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com