[.NET学习笔记] -.NET6.0项目动态加载netstandard2.0报错但项目添加引用则正常的问题
问题描述
.NET6.0的项目使用netstandard2.0版本的动态链接库。若是在项目中直接添加引用,应用netstandard2.0项目或者netstandard2.0编译后的dll均能正常工作。但如果通过xcopy等方式,额外将对应的dll复制到执行目录,会执行失败。调用方式一致,均为Assembly.Load(XXXDllName)。
错误信息为:System.IO.FileNotFoundException: 'Could not load file or assembly 'XXXDllName, Culture=neutral, PublicKeyToken=null'. 系统找不到指定的文件。'
《How can I dynamically load .NET core library with .NET framework dependencies?》这个提问跟我的情况基本相同。
分析
- 通过项目添加dll引用直接生成到执行目录。(正常运行)
- 通过编译完成后复制dll到执行目录。(失败)
经过比对,以上两种方式的生成目录基本一致,只有ProjectName.deps.json这个文件有细微差别。差别主要就是是否有XXXDllName.dll文件的依赖信息。如果用第一种方式生成的*.deps.json文件,覆盖第二种方式的执行目录,是可以正常运行的。所以这里导致错误的原因就是*.deps.json的内容。这与我之前在.net framework上的使用经验完全不一样。如果想想动态加载dll,这样看,在.NET6.0版本上好像不是很方便。
待更新。。。
相关文章:
[.NET学习笔记] -.NET6.0项目动态加载netstandard2.0报错但项目添加引用则正常的问题
问题描述 .NET6.0的项目使用netstandard2.0版本的动态链接库。若是在项目中直接添加引用,应用netstandard2.0项目或者netstandard2.0编译后的dll均能正常工作。但如果通过xcopy等方式,额外将对应的dll复制到执行目录,会执行失败。调用方式一…...
山景DSP芯片可烧录AP8224C2音频处理器方案
AP8224C2高性能32位音频应用处理器AP82系列音频处理器是面向音频应用领域设计的新一代SoC平台产品,适用于传统音响系统、新兴的蓝牙或Wifi 无线音频产品、Sound Bar 和调音台等市场。该处理器在总体架构和系统组成上,充分考虑了音频领域的特点࿰…...
来聊聊托管服务提供商(MSP)安全
纵观各个中小型企业,由于预算十分有限而且系统环境的满载,如今它们往往需要依赖托管服务提供商(managed service providers,MSP)来支持其IT服务与流程。而由于MSP提供的解决方案可以与客户端基础设施相集成,…...
最新版本的Anaconda环境配置、Cuda、cuDNN以及pytorch环境一键式配置流程
本教程是最新的深度学习入门环境配置教程,跟着本教程可以帮你解决入门深度学习之前的环境配置问题。同时,本教程拒绝琐碎,大部分以图例形式进行教程。这里我们安装的都是最新版本~ 文章目录 一、Anaconda的安装1.1 下载1.2 安装1.3 环境配置…...
【数据结构与算法】十大经典排序算法-选择排序
🌟个人博客:www.hellocode.top 🏰Java知识导航:Java-Navigate 🔥CSDN:HelloCode. 🌞知乎:HelloCode 🌴掘金:HelloCode ⚡如有问题,欢迎指正&#…...
【Spring专题】Spring之Bean的生命周期源码解析——阶段一(扫描生成BeanDefinition)
目录 前言阅读准备阅读指引阅读建议 课程内容一、生成BeanDefinition1.1 简单回顾*1.2 概念回顾1.3 核心方法讲解 二、方法讲解2.1 ClassPathBeanDefinitionScanner#scan2.2 ClassPathBeanDefinitionScanner#doScan2.3 ClassPathScanningCandidateComponentProvider#findCandid…...
【C#】判断打印机共享状态
打印机共享状态 /// <summary>/// 打印机共享状态/// </summary>public enum PrinterShareState{/// <summary>/// 无打印机/// </summary>None -1,/// <summary>/// 未共享/// </summary>NotShare 0,/// <summary>/// 已共享/// …...
运维监控学习笔记7
Zabbix的安装: 1、基础环境准备: 安装zabbix的yum源,阿里的yum源提供了zabbix3.0。 rpm -ivh http://mirrors.aliyun.com/zabbix/zabbix/3.0/rhel/7/x86_64/zabbix-release-3.0-1.el7.noarch.rpm 这个文件就是生成了一个zabbix.repo 2、安…...
【业务功能篇64】maven加速 配置settings.xml文件 镜像
maven加速 添加阿里镜像仓 <?xml version"1.0" encoding"UTF-8"?><!-- Licensed to the Apache Software Foundation (ASF) under one or more contributor license agreements. See the NOTICE file distributed with this work for additi…...
Spring Boot(六十四):SpringBoot集成Gzip压缩数据
1 实现思路 2 实现 2.1 创建springboot项目 2.2 编写一个接口,功能很简单就是传入一个Json对象并返回 package com.example.demo.controller;import com.example.demo.entity.Advertising; import lombok.Data; import lombok.extern.slf4j.Slf4j; import org.springframewo…...
Mac安装opencv后无法导入cv2的解决方法
前提条件:以下两个插件安装成功 pip install opencv-python pip install --user opencv-contrib-python 注:直接用pip install opencv-contrib-python如果报错,就加上“–user" 第一步: 设置–添加python解释器 第二步&am…...
【题解】按之字形顺序打印二叉树
按之字形顺序打印二叉树 题目链接:按之字形顺序打印二叉树 解题思路:层次遍历,借助队列 首先解决如何模仿之字形的问题,我们为此设置一个flag,每到一层就修改flag,如果flag为true(初始为fals…...
后端人员如何快速上手vue
一、环境搭建 了解更多vue-cli 官网地址:https://cli.vuejs.org/zh/guide/browser-compatibility.html 前提 1.安装node(js代码的运行环境)、npm、cnpm/yarn; nodejs官网:https://nodejs.org/en cnpm安装:https://www.python100.com/htm…...
基于Prometheus监控Kubernetes集群
目录 一、环境准备 1.1、主机初始化配置 1.2、部署docker环境 二、部署kubernetes集群 2.1、组件介绍 2.2、配置阿里云yum源 2.3、安装kubelet kubeadm kubectl 2.4、配置init-config.yaml 2.5、安装master节点 2.6、安装node节点 2.7、安装flannel、cni 2.8、部署测…...
【数据分析】pandas (三)
基本功能 在这里,我们将讨论pandas数据结构中常见的许多基本功能 让我们创建一些示例对象: index pd.date_range(“1/1/2000”, periods8) s pd.Series(np.random.randn(5), index[“a”, “b”, “c”, “d”, “e”]). df pd.DataFrame(np.random.…...
nvm命令
1. 常见命令 1. nvm -v //查看nvm版本 nvm --version :显示 nvm 版本 2. nvm list //显示版本列表 nvm list :显示已安装的版本(同 nvm list installednvm list installed:显示已安装的版本nvm list available:显示所有…...
从此已是义无反顾
距离上次发这个专栏的文章已经过去了十多天,现在我已经开始准备面试内容,迟迟还没有投出第一份简历,只是因为我感觉对知识点的理解还不到位,于是开始一边看JavaGuide老师总结的面试题目,一边翻看以前学习的笔记&#x…...
Element组件浅尝辄止2:Card卡片组件
根据官方说法: 将信息聚合在卡片容器中展示。 1.啥时候使用?When? 既然是信息聚合的容器,那场景就好说了 新建页面时可以用来当做页面容器页面的某一部分,可以用来当做子容器 2.怎样使用?How? //Card …...
“深入剖析Java多态:点燃编程世界火花“
White graces:个人主页 🙉专栏推荐:Java入门知识🙉 🙉 内容推荐:“继承与组合:代码复用的两种策略“🙉 🐹今日诗词:马踏祁连山河动,兵起玄黄奈何天🐹 快去学习 🌸思维导…...
golang官方限流器rate包实践
日常开发中,对于某些接口有请求频率的限制。比如登录的接口、发送短信的接口、秒杀商品的接口等等。 官方的golang.org/x/time/rate包中实现了令牌桶的算法。 封装限流器可以将ip、手机号这种的作为限流器组的标识。 接下来就是实例化限流器和获取令牌函数的实现…...
卡尔曼滤波在目标跟踪中的应用:原理、建模与工程调参实战
1. 项目概述:从“猜”到“算”的跟踪艺术在目标跟踪这个领域,无论是自动驾驶中预测前车的轨迹,还是无人机锁定移动的物体,亦或是视频监控里框住一个行走的人,我们核心要解决的都是一个问题:如何在充满噪声和…...
AI视频工业化生产新范式(Sora 2与DaVinci深度耦合技术解密)
更多请点击: https://kaifayun.com 第一章:AI视频工业化生产新范式(Sora 2与DaVinci深度耦合技术解密) Sora 2不再仅是生成式模型的单点突破,而是作为视频工业流水线的智能中枢,与Blackmagic Design DaVi…...
CANN/asc-devkit DropOut高阶API
DropOut 【免费下载链接】asc-devkit 本项目是CANN 推出的昇腾AI处理器专用的算子程序开发语言,原生支持C和C标准规范,主要由类库和语言扩展层构成,提供多层级API,满足多维场景算子开发诉求。 项目地址: https://gitcode.com/ca…...
怎么远程操作另一台手机 手机能远程控制别的手机吗
想远程操作另一台手机应急?不管是忘带工作机需回复客户消息,还是手游玩家用备用机远程控制主力机挂机领福利,都需要好用的工具。市面上能远程操作另一台手机的软件不少,但是却多有短板,难以适配需求。推荐无界趣连2.0&…...
从高斯-克吕格到UTM:在QGIS里搞定国内卫星影像与地形图的坐标匹配
从高斯-克吕格到UTM:在QGIS里搞定国内卫星影像与地形图的坐标匹配 当你在QGIS中加载了从不同来源获取的卫星影像和地形图时,是否遇到过这样的困扰:明明应该是同一区域的数据,却在软件中显示得南辕北辙?这种"影像对…...
为什么你的/fast命令总被降级?Midjourney内部队列优先级算法首度曝光(含3个即时生效的Prompt签名技巧)
更多请点击: https://kaifayun.com 第一章:快速模式降级现象的本质解构 快速模式降级(Fast Mode Degradation)并非简单的性能衰减,而是现代异步I/O栈中多层协同机制在资源约束下触发的确定性状态迁移过程。其本质是内…...
论文查重会查表格么?
会,但不是所有表格都按同一种方式查。先说结论:论文里的表格,学校查重一般是会处理的。只是“查到什么程度”,看系统。分几种情况说。1. Word里的可编辑表格:会查如果你的表格是这种:Word 直接插入的表格单…...
帮孩子建立时间观念:从认识“十分钟有多长”开始
很多家长都遇到过这样的困扰:让孩子“再玩十分钟就吃饭”,结果十分钟后他完全没反应,不是故意拖延,而是他真的不知道十分钟有多长。时间对孩子来说是抽象的,看不见摸不着。要帮孩子建立时间观念,不妨从感受…...
第八章:AI产品的技术尽调——如何评估AI供应商
本章难度:★★★★☆ | 预计阅读时间:10分钟 你将学到:AI供应商评估的八大维度、安全认证与AI特有风险、2026年合规框架(EU AI Act/ISO 42001/GDPR)、数据隐私条款、模型能力评估方法、以及PM可操作的技术尽调清单 引言:为什么AI供应商需要"特殊体检" 老板说:…...
六月学术盛宴启幕 | 2026年6月国际学术会议重磅来袭
2026年6月学术会议列表 | 会议亮点总结 顶尖大咖云集:学界领军人物、资深学者倾情助阵,汇聚全球科研力量现场分享前沿成果 顶尖院校强力赋能:北航、桂林电子科技大学、南方科技大学、华南理工大学等众多名校联合组织 正规出版渠道 & 高…...
