添加 .dll 源以使用 类

Add a .dll source to use classes

我正在用 C# 编码。已经编写了一个便携式控制台应用程序,需要一个 dll 才能使用,它运行完美,没有任何错误。

我想摆脱随处携带该 dll 并复制其源代码或部分 类。我已经使用 NetShrink software 来制作我的 exedll 一个包,但它是一种技巧而不是原始方法。

我的问题:在 visual studio 中是否有任何原始方法或任何插件可以将 dll 源引入另一个项目? 我从一位老程序员那里听说有一个将整个 .dll 源代码引入项目的内置工具。

我尝试了什么:除了 Netshrink 我在 Resharper 插件中尝试了 assembly-explorer 并从 .dll 中获取输出为 .sln 项目但是事情变得困难了。

dll 是 Ionic.Zip.dll 中用于压缩文件的 DotNetZip。

其实也没有办法。您有多种选择来处理您的便携式项目。

  1. 将库项目添加到您的解决方案并引用它。
  2. 将库 (.dll) 添加到您的解决方案并引用它。
  3. 将库 (.dll) 添加到您的解决方案中 Load it from Resources
  4. 使用第 3 方工具(例如,NetShrink)将 (.dll) 合并​​到您的 .exe
  5. 将您的库 (.dll) 上传到 NuGet 服务器并安装它(您可以设置自己的 NuGet 服务器或使用 Microsoft 的)

我个人使用方法 3。将 .dll 复制到我的解决方案的某处,引用它,按需加载它,不要将它复制到输出文件夹。如果可能,坚持使用方法 5。因为它是最方便的方法。

你实际上是混淆了混淆和合并。您的目标是隐藏打包到程序集中的引用程序集。

参考这个问题:How can I protect my .NET assemblies from decompilation?

关于你原来的问题,你已经准备好了。正如我所建议的,您可以使用 LibZ 或 ILMerge(或其他工具,有很多)。

你的问题绝对应该更具体,因为你想保护你的程序集免受盗版,而不是将它们合并在一起。