zoukankan      html  css  js  c++  java
  • .net core项目中引用.net framework封装的dll库

    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,就完成了打包的过程。

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

    将包拷贝到

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

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

  • 相关阅读:
    比较全的屏幕信息
    使用div实现progress进度条
    选项卡效果的菜单栏
    javascript写的轮播图
    centos6.5 命令行配置无线上网
    CentOS 6.5 BCM43142 80211无线网卡驱动安装
    [数据库] windows server 2003下mysql出现10048错误的解决办法 Can't connect to MySQL server on '127.0.0.1' (10048)
    桥接模式-多台虚拟机配置(重要)
    VMware虚拟机中如何配置静态IP
    MySQL5.7 mysql.user创建用户
  • 原文地址:https://www.cnblogs.com/kelelipeng/p/10445092.html
Copyright © 2011-2022 走看看