这是我的问题:
我有 2 个项目 - 一个“常见”项目,其行为类似于具有各种支持代码的库,以及在许多调用中使用所述项目的实际程序。我们将这些项目称为“Common”和“Program”。它们都在同一个解决方案中。
在“Common”中,我有一个用于常见反射任务的类,例如创建实例。如果我调用 GetExecutingAssembly,它会获取所有“常见”类型,但是当我使用 GetEntryAssembly 时,我会获取“程序”类型。
虽然我当然可以编辑代码以使用 2 组 asm,但我担心解决方案中不止 2 个项目的情况 - 比方说 5 个(不知道为什么,但我们就去那里吧现在),而且调用 GetExecutingAssembly 和 GetEntryAssembly 恐怕无法获取整个程序中的所有类型。
我还可以做些什么来获取所有类型solution?
Assembly[] assemblies = AppDomain.CurrentDomain.GetAssemblies();
这将获取当前 AppDomain 中所有已加载的程序集。
正如评论中所述,可以生成多个 AppDomain,在这种情况下,每个 AppDomain 都可以拥有自己的程序集。这样做的直接好处是您可以通过卸载包含的 AppDomain 来卸载程序集。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)