解决:使用VS做窗体应用程序(WinForm),程序完成后途中使用到的dll库不会包涵进exe文件里。
如题,在用VS开发WinForm程序时,最后程序完成,期间使用到的dll库不会包涵进exe,要想发布给其他人使用,就得把这些dll库一并打包发给其他人,别人才能正常运行,这样就会非常麻烦。如下图:程序途中使用到的dll就会一并放在程序编译导出目录,且你想在别的地方使用,还必须得把该dll一并放在同一目录。举个例子:我想把该程序放在桌面运行,我单独把 WinFormTest.exe 文件复制到桌面是运行不了的(闪退,报错,或者直接打不开都是正常现象,就算看起来没报错,你正常打开了,实际用到该dll里的函数
解决:使用vs做窗体应用程序(winform),程序完成后途中使用到的dll库不会包涵进exe文件里。
如题,在用vs开发winform程序时,最后程序完成,期间使用到的dll库不会包涵进exe,要想发布给其他人使用,就得把这些dll库一并打包发给其他人,别人才能正常运行,这样就会非常麻烦。如下图:

程序途中使用到的dll就会一并放在程序编译导出目录,且你想在别的地方使用,还必须得把该dll一并放在同一目录。
举个例子:我想把该程序放在桌面运行,我单独把 winformtest.exe 文件复制到桌面是运行不了的(闪退,报错,或者直接打不开都是正常现象,就算看起来没报错,你正常打开了,实际用到该dll里的函数的地方就会崩溃或失效),所以需要把该dll一并复制到桌面,此时,你就会发现该程序能正常运行了。
但是这样就会很麻烦,理应我程序运行就只需要一个exe文件就行了,无论我放那个目录,或者发给其他任何人,都只需要一个exe就行了,这样才对,这样才简便。
所以此文,我们来解决该问题。
一:在解决方案右键 —> 管理解决方案的 nuget 程序包。如图:

二:在浏览窗口搜索:costura.fody 插件,然后下载安装。如图:

三:安装完成后,再次编译程序生成,就会发现编译完成后的exe目录下已经没有dll库了,且该程序复制到任意目录都可正常运行,至此,目的达成。如图:

ps:这样操作后,dll不见了,程序也可正常运行,但可以明显的看到,该exe文件大小变大了,从原来的7k变为78k了。原因是把dll打进了exe导致的。
辛酸史:由于最开始遇到该问题的时候比较懵,不知道该怎么键入关键词查找资料,苦苦摸索了很久很久,查找了无数资料教程,各种方法都试过了,最后都失败了,好在最终在一步一步查找资料途中终于找到了该插件与使用教程,最终解决了问题,该文章算是记录下解决该问题过程吧。
相关文章:
-
WireShark:下载、安装、使用,安装教程详解…
-
你是否还在担心你的服务器被攻击?你是否还在担心你的博客的安全?你是否还在担心你的隐私?别急fail2ban它来了,它可以解决你的一切问题。…
-
需要注意的是,功能安全的目的不是彻底消除风险,而是把风险降低到一个可接受的范围,可接受的范围一般由当前的技术发展水平以及社会道德共识来决定。现在的车上有几十甚至上百个ECU系统,其…
-
主要对登录到计算机的账户进行一些安全设置,主要影响是本地计算机安全设置。…
-
-
版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。
如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。
发表评论