在Blazor-wasm项目中,我希望在编译时不知道项目的情况下动态加载第二个项目(.Net5(。因此,正常的"懒惰加载"对我不起作用。是否有图书馆用于此类目的?或者一个示例解决方案
我也在寻找这种功能。net6中的静态编译时引用不是很好。
看看oqtane,他们在.net 3.1的运行时做了一些懒惰加载的工作,不幸的是,他们似乎更多地转向了nuget方向,而不仅仅是dllhttps://docs.oqtane.org/index.htmlhttps://github.com/oqtane/oqtane.framework/discussions/1076
这里有点晚,但在NET6中你可以做到,我做了一个Manager,你可以在那里查看
https://github.com/elgransan/BlazorPluginComponents
一些示例代码
var componentPackage = "RazorClassLibrary2";
var component = "Component2";
var stream = await Http.GetStreamAsync($"{MyNavigationManager.BaseUri}/{componentPackage}/{componentPackage}.dll");
var assembly = AssemblyLoadContext.Default.LoadFromStream(stream);
componentType = assembly.GetType(componentPackage + "." + component);
await DOMinterop.IncludeLink(componentPackage, $"/{componentPackage}/{componentPackage}.styles.css");
文件在服务器中的位置