gpt4 book ai didi

c# - 如何将依赖的 dll (MySql.Data.dll) 与我创建的 exe 合并?

转载 作者:行者123 更新时间:2023-11-30 22:26:47 26 4
gpt4 key购买 nike

我创建了一个应用程序,它需要在计算机上安装 ODBC 连接器才能工作。由于我的应用程序需要连接到 mysql 数据库,因此它只需要一个 dll 文件 (MySql.Data.dll) 即可工作。

当我将此 dll 放在与应用程序相同的位置时,它工作正常。现在我想合并这个 dll,以便最后只有一个可执行文件?

如何将这个依赖的 DLL 与我的可执行文件合并?

最佳答案

你不能那样做,所有的程序集都会从某个地方被引用...

  • 来自 .NET 框架路径,例如:

System.Net.dll

所有 .NET 应用程序都需要 .NET Framework 程序集才能运行,这就是想要执行您的应用程序的用户需要安装 .NET Framework 的原因。因此,您的应用程序知道在哪里可以找到此程序集,并且不需要您将 System.Net.dll 程序集放在与您的应用程序相同的路径中即可成功运行。

  • 或者像您的应用一样来自外部路径。

您的应用程序知道在哪里可以找到要运行的 .NET Framework 程序集,但请稍等!它还需要一些额外的 dll 才能运行,因此这就是为什么您在编译应用时在同一路径中获取 MySql.Data.dll 的原因。

可能的解决方案:

1. 如果您只想制作一个可执行文件,请尝试使用 Spoon Studio(很难找到完整的破解版,而且价格昂贵)。这将使您有可能嵌入任何程序集,例如您想要的程序集或所有 .NET Framework,因此这将使您的应用程序不依赖于任何 .NET Framework 安装或执行您的应用程序的用户计算机中所需的程序集。

2.尝试使用 ILMerge,但请阅读以下链接以了解您的代码是否符合要求。

操作方法和重要信息:

http://www.codeproject.com/Articles/9364/Merging-NET-assemblies-using-ILMerge

http://www.blackwasp.co.uk/ILMerge.aspx

关于c# - 如何将依赖的 dll (MySql.Data.dll) 与我创建的 exe 合并?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11605075/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com