| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> C++知识库 -> 记一次部署问题,C#调用C++ dll,在VS2019正常,在服务器报错,分析及解决方案 -> 正文阅读 |
|
[C++知识库]记一次部署问题,C#调用C++ dll,在VS2019正常,在服务器报错,分析及解决方案 |
起因有一个内网项目,生产线上的上位机软件需要做一个检验功能,为了安全,将业务逻辑做成API,上位机软件调用。 在其中就包含了一个功能,需要调用C++写的dll,为了安全才写的C++?dll。 问题在调试过程中,一切正常,项目完成后,部署到服务器就报错,异常为SEHExcepion,外部组件发生异常。 处理做了很多的尝试... 尝试一?修改项目为x86 一开始以为是32位或64位程序的问题,由于C++ dll是32位,所以api项目就改成了x86的,部署后还是报错 尝试二?修改C++编译方式 有可能是C++?dll的问题,改了很多编译方式,32位,64位,改了运行库,MT,MD等等,编译了很多个版本的dll,都无法解决问题 尝试三?安装常用运行库 有可能是服务器缺失了C++的运行库,就像部署netcore项目或者blazor项目一样,都需要安装很多的运行库 在搜索问题过程中找到了一个Depends.exe软件,可以查找C++?dll缺失的dll 原本缺失了一个VCRUNTIME140.DLL,于是?下载了一个vcruntime140_1.dll放在C盘,检测过程没有缺失dll,但是其它依赖的dll也缺失了很多,我尝试着去下载两个dll,似乎能解决问题。 ?但是,缺失的dll太多了,几十个不可能一个个去下载,可能有一些合集之类的,安装一个之后,就全部全了。 于是下载C++的常用库 ?安装了之后,也没有效果。 同时,发现在本地运行Depends.exe软件时,也同样发现dll缺失了很多的dll,与在服务器的一样。 ?尝试四?写入log 由于C#无法捕获C++抛出的异常,所以,想到一个方法,那就是在C++?dll?写log,当出现异常时,将异常写入日志。 再次部署到服务器,意料之中,还是报错,也没有写入log,之前就考虑到,可能缺失C++库文件,导致无法调用C++,日志方法也无法调用。 尝试五?服务器问题 在本地电脑也部署过,没有出现问题,所以怀疑是服务器的问题,是否服务器太老了? 查看服务器的系统,是Windows Server 2008 R2的系统,这个系统仅支持64位的操作系统,可能是C++需要调用32位的运行库,才导致出错。 也考虑过重装服务器系统,但这不太可能,代价太大了 解决方案由于是局域网项目,公司有多个服务器,不同的系统,于是重新找了个服务器,Win7系统的。 再将C#调用C++?dll的逻辑移到一个新API项目,然后将API部署到新服务器。 部署之后,一起正常。 对这个问题有不同想法的,可以留言交流。。。 |
|
C++知识库 最新文章 |
【C++】友元、嵌套类、异常、RTTI、类型转换 |
通讯录的思路与实现(C语言) |
C++PrimerPlus 第七章 函数-C++的编程模块( |
Problem C: 算法9-9~9-12:平衡二叉树的基本 |
MSVC C++ UTF-8编程 |
C++进阶 多态原理 |
简单string类c++实现 |
我的年度总结 |
【C语言】以深厚地基筑伟岸高楼-基础篇(六 |
c语言常见错误合集 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 20:56:23- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |