如何制作一个Visual Studio C#exe,一个独立的可执行文件(通过将dll与exe打包在一起)?

时间:2019-06-28 10:19:11

标签: c# dll exe

我在Visual Studio中用c#编写了WindowsFormsApp。它在我的Windows机器上完美运行。

我包括一些在编写代码时安装和使用的nuget软件包(例如Renci.SshNet),它可以从Visual Studio完美地运行,但是当我从另一台Windows计算机运行该exe时,它没有运行。

因此,我将dll(Renci.SshNet)复制到另一台Windows计算机到包含我的.exe文件的同一文件夹,然后尝试再次运行。这次我可以成功运行。

但是有没有一种解决方案可以将dll打包到.exe中并生成一个独立的可执行文件,该可执行文件可以在其他Windows计算机上运行,​​而无需每次都复制该dll?

注意:它不需要独立于.NET框架。我认为使用此exe的任何人都将安装该文件。

如果有人能帮助我找到此问题的解决方案,并事先感谢,那就太好了。

1 个答案:

答案 0 :(得分:1)

您可以安装一个名为Fody的nuget软件包

Install-Package Fody -Version 5.1.1

安装后,在构建程序时,所有引用的DLL将与exe合并。安装前请检查.net框架版本,因为我记得最重要的一点是当前版本仅适用于.net Framework 4.6和更高版本。