【Visual Studio】【.NET】使用Devexpress框架的项目发布时缺失dll的相关问题记录

首先说我自己实践得到的结论:

VS2017,.net framework4.6.1,但凡bin/release或debug下的.exe可执行文件,运行时要用的dll,放在其同路径下,就可以被找到并正常运行。

注意:

  1.如果直接在bin/release或debug下点击exe没反应,可以在控制面板——>系统和安全——>安全和维护,点开维护查看可靠性历史记录

  可以看到刚刚没反应的exe应用,如果是Win10就右键查看技术详细信息,如果是这情况就是缺失DLL:

  2.如果是exe依赖的dll也有其依赖的dll,vs运行的时候会给出类似这样的异常:

  这种情况也可以通过dependencies去查找缺失的dll

  3.还有一种的情况,就是有人说devexpress的dll打包的时候不能简单的将其拷贝到安装包目录下需要将它们注册到Global Assembly Cach(全局程序集缓存)具体见:DevExpress 开发经验总结3 制作项目安装包 - 张传宁 - 博客园 (cnblogs.com)

  GTP说这样的原因是:

  注册 DevExpress 的 DLL 到全局程序集缓存(Global Assembly Cache, GAC)而不是将其放在可执行文件的同路径下,主要是由于这些 DLL 文件的复杂依赖和版本控制需求。放在 GAC 中可以确保这些程序集被正确地共享和引用,避免了可能的版本冲突或兼容性问题。当 DLL 在 GAC 中时,.NET 运行时可以更有效地管理和定位这些程序集,确保应用程序可以访问正确的库版本。这对于确保应用程序的稳定性和兼容性非常重要,特别是在多个应用程序可能需要访问同一 DLL 的情况下。

  但是我没有遇到这个问题,我放在exe同路径下都是可以的

 

posted @ 2024-05-13 16:43  ban_boi  阅读(48)  评论(0编辑  收藏  举报