【问题标题】:How to redistribute DLLs with a C# application? [closed]如何使用 C# 应用程序重新分发 DLL? [关闭]
【发布时间】:2011-10-07 07:20:47
【问题描述】:

我确定这是一个初学者的问题,但我刚刚开始使用 Vandyke 软件提供的 DLL(VRALib,一个用于编写 SSH2 连接脚本的 COM 和 .NET API),所以当我现在很高兴在我的 PC 上编码时,我是不确定如何将 DLL 与应用程序一起重新分发到其他 PC。

有没有人有一些使用 3rd 方 DLL 的初学者指南以及重新分发的最佳实践方法和提示/技巧?

【问题讨论】:

  • 了解第 3 方 dll 是托管还是非托管会很有帮助。
  • 这是 .NET DLL、COM DLL 还是老式的 windows DLL?
  • @Maciek, @iandotkelly:公平地说,OP 实际上确实提到了 something 类似的内容,但有些笨蛋把它删掉了。
  • @mr.dissapointment - 谢谢,他做到了
  • @Mr.失望,@iandotkelly:我从看起来像是内容低而广告高的帖子中删除了公司和图书馆的名称。 DLL的名称和生产者与这个问题完全无关,所以我再次删除了它们。

标签: c# dll software-distribution redistributable


【解决方案1】:

好的,如果它是一个带有托管 .NET API 的 COM DLL,您需要确保您有一种在 PC 上安装和注册 COM DLL 的方法。 .NET API 可以随您的应用程序一起复制。

注册 DLL 的方法有很多种,有一个命令行程序 regsvr32,它有点难看但很实用。这是一个article,描述了如何从 .NET 代码注册 COM DLL。

Vandyke 软件是否附带安装程序,您可以通过安装程序运行该安装程序?它们是否提供了以静默模式运行安装程序的方法?

【讨论】:

  • 感谢您的回复,为我指出了正确的研究方向,并认为我知道这个想法。我可以看到这个编程的百灵鸟会变得有趣 :) 回答一个问题,另外 5 个来吧!至少它让灰色单元格保持滴答作响。
  • COM DLL 可能有点像噩梦——尤其是在许多不同的应用程序之间共享时。如果您的应用程序是唯一可能使用此 DLL 的应用程序,并且 PC 上没有其他应用程序可能会在某个时候更新,那么它确实会变得更容易。祝你好运。
  • 不太可能被共享,真的我只是在寻找一种在我的 c# 项目中实现 SSH 的好方法。我确信还有其他方法可以实现相同的目标,但我现在是 cc# 专家并且能够从头开始实施 SSH。但最终我想要一个完整的独立应用程序,这个 DLL 是我遇到的第一个可以解决问题的应用程序,但这是我第一次玩 DLL 的盲区。
  • 这是一篇关于在 C# 中使用 OpenSSL 的文章 -codeproject.com/KB/IP/sslclasses.aspx