Winform部署时dll缺少依赖项问题总结

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Winform部署时dll缺少依赖项问题总结相关的知识,希望对你有一定的参考价值。

1.BIM平台程序部署到笔记本上时,参数建模功能提示ConceptionModelingDllEx.dll缺少依赖项,找不到指定的模块。出错界面如下:

技术分享 

解决:利用DependencyWalker工具查看该dll的依赖项,找出缺少的dll后拷贝到当前目录下即可。工具界面如下:

 技术分享 

2.利用GDAL库进行shp矢量图层读写修改等操作时报错“OSGeo.GDAL.GdalPinvoke的类型初始值设定引发异常”。如下图:

 技术分享

解决:参考网上给出的方案,经过自己的测试得出是gdal的依赖项不完全,导致初始化报错,注册代码如下:

Ogr.RegisterAll();// 注册所有驱动

除了必要的8个dll外,需补充gdal引用的C++的dll库文件,本项目中需添加geos.dll和geos_c.dll两个依赖项即解决该问题。

 

3.VS中Winform部署msi安装包时,对于依赖项之外的文件如dll、txt、mdb、xml等程序用到的其他库文件及数据文件,需在“应用程序”文件夹中手动添加;碰到文件夹需新建同名文件夹后添加原始文件夹中所有文件到该文件夹下,多层文件夹类似操作解决。

技术分享 

用户的“程序”菜单对应了开始菜单,一般将主程序和卸载程序放在文件夹中即可。

以上是关于Winform部署时dll缺少依赖项问题总结的主要内容,如果未能解决你的问题,请参考以下文章

电脑突然死机,编译报错dll缺少依赖项

如何留下 Visual Studio 2013 dll 依赖项?

IrisSkin2.dll用法总结——WinForm窗体换肤总结

构建输出中未包含依赖项的依赖项

Unhandled Exception:System.DllNotFoundException: Unable to load DLL"**"

如何解决“React Hook useEffect 缺少依赖项。包括它或删除依赖项数组”问题?