visual studio报:引发的异常:“System.DllNotFoundException”(位于 ConsoleCAN1.exe 中)

最近在重构CAN通信的代码,把论文中的java转为C#实现,由于某种原因,java不能复现,所以转为c#。

然而c#的重构过程遇到许多问题,因为两种语言的编程方式、线程等等实现上有所差异。

其中一个错误:

引发的异常:“System.DllNotFoundException”(位于 ConsoleCAN1.exe 中)

说 dll 找不到,

但是我明明把DLL文件放在项目中了,而且也在代码中引用了,就不明了,所以去问了一下

于是
在这里插入图片描述

这个异常通常表示系统找不到特定的 DLL 文件。这可能是由于以下几种原因导致的:

  1. DLL 文件缺失:确保程序依赖的 DLL 文件存在,并且位于正确的路径下。有时候需要将 DLL 文件复制到输出目录中(例如 bin 目录)。
  2. 平台不匹配:DLL 文件可能是针对特定平台编译的,例如 x86 或 x64。确保程序和 DLL 文件的平台匹配。
  3. 依赖关系问题:某些 DLL 文件可能依赖于其他 DLL 文件。确保所有依赖的 DLL 文件都可用,并且位于正确的路径下。
  4. 权限问题:确保程序有权限读取所需的 DLL 文件。在某些情况下,需要以管理员权限运行程序。

可以尝试以下方法来解决这个问题:

  1. 确保程序依赖的 DLL 文件存在,并且位于正确的路径下。
  2. 检查程序和 DLL 文件的平台是否匹配。
  3. 检查是否有其他依赖项缺失。
  4. 尝试以管理员权限运行程序。

如果仍然无法解决问题,可以提供更多关于异常的详细信息,以便更好地帮助解决问题。

看项目属性:

要查看当前 Visual Studio 中的 C# 项目是什么平台的(例如 x86、x64、AnyCPU),以及是多少位的(32 位或 64
位),可以按照以下步骤进行:

  1. 打开 Visual Studio 并加载您的 C# 项目。
  2. 在 Visual Studio 的菜单栏中,选择“项目” -> “项目属性”(或者按下 Alt + Enter 组合键)。
  3. 在弹出的窗口中,选择“生成”选项卡。
  4. 在“平台目标”下拉菜单中,您可以看到当前项目所选的平台设置。这里会显示项目是针对 x86、x64、AnyCPU 还是特定的 CPU 架构。
  5. 如果您想要查看项目是多少位的(32 位或 64 位),可以根据平台目标来确定。例如,如果选择了 x86 平台,则项目是 32 位的;如果选择了 x64 平台,则项目是 64 位的。

通过以上步骤,您可以轻松地查看当前 Visual Studio 中的 C# 项目是什么平台的,并确定项目是多少位的。

经过修改项目属性,复制过好几次dll,最终的解决是换为64位dll,目标平台改为 x64 ,相关文件复制到bin的Debug下,然后程序就能正常使用动态链接库了。

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mfbz.cn/a/500758.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

绿联 安装PDF工具

这是一个强大的本地托管的基于 Web 的 PDF 操作工具,使用 docker,允许您对 PDF 文件执行各种操作,例如拆分、合并、转换、重组、添加图像、旋转、压缩等。这个本地托管的 Web 应用程序最初是 100% ChatGPT 制作的应用程序,现已发展…

什么是搜索引擎(SEO)爬虫它们是如何工作的?

什么是搜索引擎(SEO)爬虫&它们是如何工作的? 你的网站上有蜘蛛🕷️。别抓狂!我说的不是真正的八条腿的蜘蛛🕷️。 我指的是搜索引擎优化爬虫。他们是实现SEO的机器人。每个主要的搜索引擎都使用爬虫来…

【学习】JMeter和Postman两种测试工具的主要区别有哪些

Postman和JMeter都是常用的API测试工具,但它们之间存在一些不同之处。以下是Postman和JMeter的主要区别: 语言支持 Postman是一个基于Chrome的应用程序,因此它使用JavaScript作为编程语言。这意味着你可以使用JavaScript来编写测试脚本和断…

Vue中使用Vuex(超详细)基本使用方法

在vue中使用vuex,不同的vue版本要对应使用不同的vuex,在这里不做详情介绍,想具体了解的,请自行度娘或者必应一下。 在使用vuex之前,我们创建一个新的项目,这里我们使用的是vue的脚手架创建一个vue项目。 …

小迪学习笔记(内网安全)(常见概念和信息收集)

小迪学习笔记(内网安全)(一) 内网分布图内网基本概念工作组和域环境的优缺点内网常用命令域的分类单域父域和子域域数和域森林 Linux域渗透问题内网安全流程小迪演示环境信息收集mimikatzLazagne(all)凭据信息政集操作演示探针主机…

书生·浦语大模型开源体系(一)论文精读笔记

💗💗💗欢迎来到我的博客,你将找到有关如何使用技术解决问题的文章,也会找到某个技术的学习路线。无论你是何种职业,我都希望我的博客对你有所帮助。最后不要忘记订阅我的博客以获取最新文章,也欢…

电脑端手机配置信息检测的实用性与局限性分析

摘要 本文介绍了如何使用克魔助手工具在电脑上检测手机的配置信息。通过该工具,用户可以全面了解手机的硬件和操作系统信息,包括电池、CPU、内存、基带信息和销售信息等。 引言 在日常工作中,了解手机的配置信息对于开发和测试人员非常重要…

聚观早报 | 抖音独立商城App上线;阿里云联发科合作

聚观早报每日整理最值得关注的行业重点事件,帮助大家及时了解最新行业动态,每日读报,就读聚观365资讯简报。 整理丨Cutie 3月29日消息 抖音独立商城App上线 阿里云联发科合作 苹果WWDC24官宣 恒大汽车2023年营收财报 亚马逊投资Anthro…

电商平台api接口:采购比价可用的比价电商商品数据采集API接口推荐

主流电商API数据接口接入方案 目前,许多企业在进行内部采购时都有比价的需求。企业利用比价采购这一方式,能通过对比不同平台上、不同供应商的报价,进而选择最符合其需求和预算的产品或服务。 在比价采购的流程中,最重要的步骤就…

学浪视频如何录屏保存?

学浪软件对录屏进行了防范,不管什么录屏软件只要打开学浪就会黑屏,这里就教大家一个方法,可以使用网页版进行录屏 这里是学浪的网页版地址 https://student-api.iyincaishijiao.com/ep/pc/login 但是你们打开这个地址会直接跳转到这个页面…

03-Linear Regression

什么是回归算法 回归算法是一种有监督算法回归算法是一种比较常用的机器学习算法,用来建立“解释”变量(自变量X)和观测值 (因变量Y)之间的关系; 从机器学习的角度来讲,用于构建一个**算法模型(函数)**来做属性 ( X ) (X) (X) 与标签 ( Y ) (Y) (Y) 之…

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略

LLMs之Mistral:Mistral 7B v0.2的简介、安装和使用方法、案例应用之详细攻略 导读:Mistral AI首个7B模型发布于2023年9月,在基准测试中超越Llama 2 13B,一下子声名大振。Mistral 7B v0.2对应的指令调优版本Mistral-7B-Instruct-v0…

UVA1388 - Graveyard (数学)

Graveyard 题面翻译 题目描述 在一个周长为 10000 10000 10000的圆上等距分别着 n n n个雕塑。现在又有 m m m个新雕塑加入(位置可以随意),希望所有 n m nm nm个雕塑在圆周上分布均匀。这就需要移动其中一些原有的雕塑。要求 n n n个雕塑移动的总距离尽量小。 输入格式 输…

mongodb sharding分片模式的集群数据库,日志治理缺失导致写入数据库报错MongoWriteConcernException的问题总结(上)

一、背景 常见的mongodb集群模式有以下三种: 主从复制(Master-Slave)模式副本集(Replica Set)模式分片(Sharding)模式 公司测试环境搭建的集群采用分片模式,有同事反馈说&#xf…

【Vue3源码学习】— CH2.5 reactiveEffect.ts:Vue 3响应式系统的核心

reactiveEffect.ts:Vue 3响应式系统的核心 1. 什么是 reactiveEffect?2. 核心机制2.1 依赖收集(Track)2.2 触发更新(Trigger)2.3 效果范围(effectScope) 3. 源码解析 —— track3.1 …

绿联 部署vocechat,搭建私人聊天服务器,用于小型团队和家庭环境

1、镜像 privoce/vocechat-server:latest 2、安装 2.1、基础设置 重启策略:容器退出时总是重启容器。 2.2、网络 桥接即可。 2.3、存储空间 装载路径:/home/vocechat-server/data不可变更,权限读写。 2.4、端口设置 容器端口3000不可变…

备考ICA----Istio实验14---出向流量管控Egress Gateways实验

备考ICA----Istio实验14—出向流量管控Egress Gateways实验 1. 发布测试用 pod kubectl apply -f istio/samples/sleep/sleep.yaml kubectl get pods -l appsleep2. ServiceEntry 创建一个ServiceEntry允许流量访问edition.cnn.com egressgw/edition-ServiceEntry.yaml api…

基于springboot+vue+Mysql的家政服务管理平台

开发语言:Java框架:springbootJDK版本:JDK1.8服务器:tomcat7数据库:mysql 5.7(一定要5.7版本)数据库工具:Navicat11开发软件:eclipse/myeclipse/ideaMaven包:…

C# 多线程

文章目录 C# 多线程进程与线程无参数的子线程带参数的子线程运行结果 销毁线程 Abort()运行结果 ThreadPool和Task运行结果 C# 多线程 进程与线程 进程:进程就是一个应用程序,对电脑的各种资源的占用 线程:线程是程序执行的最小单位&#…

动力电池产业迎来周期性调整,宁德时代开启新角逐?

大爆发之后,新能源电池行业正在迈入紧张的下半场,一些数据显现出迹象。 根据业绩预告情况,目前57家锂电企业中,有45家企业的净利润负增长。另外,据中国汽车动力电池产业创新联盟数据,2月我国动力电池装车量…