有一些启动逻辑可以从所有引用的程序集中获取实现接口的所有类型。我在从那时尚未加载的程序集中获取类型时遇到了一些麻烦。
以下代码未获取引用的dll:
Assembly.GetExecutingAssembly().GetReferencedAssemblies().Select(Assembly.Load);
但是有了这个小小的猴子补丁,它确实得到了它:
var forceIt = new SomeTypeFromThatNugetPackage();
Assembly.GetExecutingAssembly().GetReferencedAssemblies().Select(Assembly.Load);
如果我做了明确的话,它也有效:
Assembly.Load(new AssemblyName("ThatNugetPackage"));
我还尝试了here的代码,该代码很适合项目引用,但不适用于nuget引用。关于如何强制加载这些组件的任何想法?