首页 > 解决方案 > 如何制作一个 Visual Studio C# exe,一个独立的可执行文件(通过用 exe 打包 dll)?

问题描述

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

我包含了一些在编写代码时安装和使用的 nuget 包(如 Renci.SshNet),它可以从 Visual Studio 完美运行,但是当我从另一台 Windows 机器运行 exe 时,它​​没有运行。

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

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

注意:它不需要独立于 .NET 框架。我假设任何使用这个 exe 的人都会安装它。

如果有人帮助我找到解决此问题的方法并提前致谢,那就太好了。

标签: c#dllexe

解决方案


您可以安装一个名为Fody

Install-Package Fody -Version 5.1.1

安装后,无论您构建程序,所有引用的 DLL 都将与 exe 合并。在安装之前检查 .net 框架版本,因为我记得当前版本仅适用于 .net 框架 4.6 及更高版本。


推荐阅读