C# 如何使用已加载到内存中的程序集,而不管其版本如何?
我的情景和目标 我正在PowerShell中使用加载程序集X的第三方模块 我想通过提供扩展方法或将X中的类实例作为输入来扩展X的功能。因此,我正在VisualStudio中开发一个新的程序集Y。这取决于X,因为它使用X提供的类。我将在PowerShell会话中通过C# 如何使用已加载到内存中的程序集,而不管其版本如何?,c#,.net,.net-assembly,dependency-management,C#,.net,.net Assembly,Dependency Management,我的情景和目标 我正在PowerShell中使用加载程序集X的第三方模块 我想通过提供扩展方法或将X中的类实例作为输入来扩展X的功能。因此,我正在VisualStudio中开发一个新的程序集Y。这取决于X,因为它使用X提供的类。我将在PowerShell会话中通过Add Type加载Y 我的技术愿望 我希望模块Y使用已加载到内存中的X的任何版本,而不依赖于其版本。只需假设X中的接口没有改变就可以了 通过这种方式,模块X可以发展(它的API是稳定的,但有定期更新),我不在乎,因为Y一直在工作 我该
Add Type
加载Y
我的技术愿望
我希望模块Y使用已加载到内存中的X的任何版本,而不依赖于其版本。只需假设X中的接口没有改变就可以了
通过这种方式,模块X可以发展(它的API是稳定的,但有定期更新),我不在乎,因为Y一直在工作
我该怎么做?(希望不会丢失太多的工具,如Intellisense。)您可以使用AppDomain.GetAssembly获取加载到内存中的程序集列表(作用域为应用程序域)和Assembly.LoadFrom来加载GetAssembly列表中的一个返回值。我担心进一步的开发体验。在Visual Studio中工作时,我是否可以进行类型检查、智能感知等?或者我需要通过思考来做每件事?