问题描述
我有一个可移植的ASP.NET Core 3.1 Web API,该API动态加载针对.NET Core 3.1的可移植插件程序集。加载插件程序集时,会将其加载到自己的AssemblyLoadContext中。但是,当使用Activator.CreateInstance在插件程序集中创建类型的实例时,会引发异常,并显示消息Contructor on type x not found
。这里的消息是一条红色的鲱鱼,因为真正的错误是由于无法加载某些程序集。
插件程序集引用其他具有自己依赖性的nuget程序包。我用过
<copyLocalLockFileAssemblies>true</copyLocalLockFileAssemblies>
确保所有依赖项都包含在构建输出中。此外,为处理程序集重定向,.csproj中还包括以下内容:
<AutoGenerateBindingRedirects>true</AutoGenerateBindingRedirects>
<GenerateBindingRedirectsOutputType>true</GenerateBindingRedirectsOutputType>
无法找到的程序集包括netstandard 2.0.0.0和mscorlib。我可以看到在Web API的上下文中加载了netstandard 2.1.0.0。
我尝试从插件程序集中引用NETStandard.Library
和Microsoft.NETCore.App
软件包。
请问有人可以建议我错过什么,或者可以尝试下吗?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)