在 C# Forms 应用程序中包含 .dll 文件
Posted
技术标签:
【中文标题】在 C# Forms 应用程序中包含 .dll 文件【英文标题】:Including .dll files in C# Forms Application 【发布时间】:2021-10-25 20:32:11 【问题描述】:我正在使用 Visual Studio 2019 构建 C# Forms 应用程序。从控制台应用程序发布 .exe 文件时,我可以选择将所有 .dll 文件包含到 .exe 中,这意味着我的应用程序的用户只需要下载一个文件。但是,当从 Forms 应用程序发布 .exe 时,我不得不独立地包含所有这些 .dll 文件:
View of folder with .dll files
有没有办法将这些 .dll 文件包含在 .exe 中,这样我只需将 .exe 文件发送给某人,他们就可以运行它,类似于控制台应用程序的运行方式?
编辑:我发现我在 .NET Core 中并且应该在 .NET Framework 中。我对 C# 比较陌生,不知道这些差异。现在这个问题已经解决了!如果有人遇到此问题,只需将您的代码复制粘贴到 .NET Framework 并听取说明中的说明即可。
【问题讨论】:
有很多方法可以打包和部署废弃的遗留框架应用程序和更现代的 .net core + 应用程序,但是不清楚您使用的是什么框架,您选择了什么,为什么要这样做以及你有什么限制。 请编辑问题以将其限制为具有足够详细信息的特定问题,以确定适当的答案。 【参考方案1】:您需要在构建步骤中将配置设置更改为“自包含”:
使用dotnet
cli
dotnet publish -r win-x64 -c Release --self-contained
使用 Visual Studio
将<PublishSingleFile>true</PublishSingleFile>
添加到您的项目文件中。
在解决方案资源管理器窗格中,右键单击要发布的项目。选择发布。
如果您还没有发布配置文件,请按照说明创建一个并选择文件夹目标类型。
选择编辑。
在配置文件设置对话框中,设置以下选项:
将部署模式设置为自包含或框架依赖。 将目标运行时设置为您要发布到的平台。 (必须是便携以外的东西。) 选择生成单个文件。选择保存以保存设置并返回发布对话框。
选择发布将您的应用发布为单个文件。
有关详细信息,请参阅Visual Studio Docs: Single file deployment and executable。
Embedding DLLs in a compiled executable 的副本
【讨论】:
I'm seeing a significantly different publishing menu than you are. 我看到了您在发布控制台应用程序时所做的菜单。 更新:原来我使用的是 .NET Core,我应该一直使用 .NET Framework。复制粘贴我的代码(并学习如何安装 Newtonsoft)解决了这个问题。谢谢你的帮助!!!【参考方案2】:我不认为将所有文件编译成一个是一个好主意。如果您想下载单个文件,您可以将它们打包成自解压 zip 格式(winRAR、winzip 或 7zip)。祝你好运~~
【讨论】:
以上是关于在 C# Forms 应用程序中包含 .dll 文件的主要内容,如果未能解决你的问题,请参考以下文章