码迷,mamicode.com
首页 > Web开发 > 详细

.net core项目中引用.net framework封装的dll库

时间:2019-02-27 17:44:22      阅读:1406      评论:0      收藏:0      [点我收藏+]

标签:down   src   framework   rect   data   runtime   新建   sof   color   

https://blog.csdn.net/sharphou/article/details/80746551

遇到的问题:

刚升级vs 2017进行dotnet core开发时,引用了之前封装好的dll,进行使用。引用、编译都正常,只是在运行的时候提示找不到方法或命名空间。然后在网上找到了一种临时的方案,启动启动时,动态加载dll。

技术图片

private static void TryLoadAssembly()
        {
             Assembly entry = Assembly.GetEntryAssembly();
             //找到当前执行文件所在路径
             string dir = Path.GetDirectoryName(entry.Location);
             string entryName = entry.GetName().Name;
             //获取执行文件同一目录下的其他dll
             foreach (string dll in Directory.GetFiles(dir, "*.dll"))
             {
                 if (entryName.Equals(Path.GetFileNameWithoutExtension(dll))) { continue; }
                 //非程序集类型的关联load时会报错
                 try
                 {
                     AssemblyLoadContext.Default.LoadFromAssemblyPath(dll);
                 }
                 catch (Exception ex)
                 {
                 }
             }
         }

以上是在dotnet core里面强制引用的dll的方式。

引用包的方式:

1. 用vs2017打开之前的库的项目,在nuget包管理控制台执行: dotnet pack,就完成了打包的过程。

技术图片

技术图片

会在项目的bin\debug目录下生成后缀为nupkg的文件,这就是包文件。

将包拷贝到技术图片

自己新建的包目录,然后项目中就会看到自己的包,右边点击安装就可以了。

安装后在项目中直接使用库里面的方法和类。

 

.net core项目中引用.net framework封装的dll库

标签:down   src   framework   rect   data   runtime   新建   sof   color   

原文地址:https://www.cnblogs.com/kelelipeng/p/10445092.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!