gpt4 book ai didi

c# - 包含引用的程序集,而不必将应用程序与引用的程序集放在同一目录中

转载 作者:行者123 更新时间:2023-11-30 21:12:37 28 4
gpt4 key购买 nike

我在我的 C# winform 应用程序中使用 HTMLAgilityPack。我使用 Visual Studio 从我的硬盘加载 HTMLAgilityPack,作为引用程序集。然后我构建我的应用程序并将输出的可执行文件复制到一个新目录。如果 HTMLAgilityPack 与我的输出可执行文件不在同一目录中,则在尝试运行我的可执行文件时会发生错误,提示“找不到引用”。有没有什么方法可以将引用嵌入到可执行文件中,以便用户在希望移动文件时不需要随身携带 HTMLAgilityPack?

期待您的回复

埃文

最佳答案

是的,您可以这样做 - 但这并非微不足道。您将订阅 AppDomain.CurrentDomain.AssemblyResolve 事件,当引发时,检查它正在寻找 html 敏捷包(通过事件参数),然后获取程序集来自嵌入式资源的 BLOB,使用 Assembly.Load(theBlob),并返回 Assembly 实例。

另一种更简单的方法可能是 ilmerge.exe

最后,GAC 将避免在本地安装文件的需要……而是要求将其正式集中安装。老实说,我会避开这里的 GAC。

关于c# - 包含引用的程序集,而不必将应用程序与引用的程序集放在同一目录中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7383382/

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