dotnet core 直接引用dll

时间:2022-05-04
本文章向大家介绍dotnet core 直接引用dll,主要内容包括其使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

dotnet core 只支持引用项目和nuget中的dll,外部dll虽然也可以引用进项目,并且可以被vs识别,而且编译后也可以在bin文件夹下看到对应的dll。

但是,运行时并不会加载这些外部dll,因此在运行时就会收到找不到dll文件的异常。

在 github 上的 issue 中,曾经看到有一个人说这个问题在 dotnet core 2.0 会修复,,,然而并没有

因此需要在代码中去主动加载

Assembly entry = Assembly.GetEntryAssembly();
string dir = Path.GetDirectoryName(entry.Location);
var filePath = Path.Combine(dir, "xxx.dll");
AssemblyLoadContext.Default.LoadFromAssemblyPath(filePath);

以上。