【问题标题】:How to compile several C# files in several folders to a .NET DLL file?如何将多个文件夹中的多个 C# 文件编译为 .NET DLL 文件?
【发布时间】:2017-11-07 09:25:04
【问题描述】:

我有一个 .DLL 文件,里面有 C# 代码。我成功地将它反编译为几个文件夹和几个 .cs 文件。编辑完代码后,我需要将这些文件重建为 .DLL 文件(作为原始文件)。

如何将带有 C# 文件的文件夹编译成 .DLL 文件?

我不是一个很好的程序员,而且我从来没有学过 C#(只是凭直觉编辑,基于我的 Java 和 C++ 经验)。另外我对.DLL(动态链接库)一无所知。我刚刚学会了如何反编译这样的库文件。我现在正在寻找如何重新构建它。

【问题讨论】:

  • 什么样的“文件”。一个DLL?然后你需要重建项目,它会给你一个dll。
  • 另外,您首先谈论的是“.NET 文件”,然后您说:“我成功反编译了这些文件”。是否有一个或多个文件?
  • 我编辑了我的帖子,所以它可能更容易理解

标签: c# .net


【解决方案1】:

基本上,只需创建一个类型为“类库”的新项目,包含 .cs 文件的代码并构建它。

您的编译输出将是一个 DLL,其中包含与您正在编译的 .cs 文件相对应的“.NET 代码”。 (包含有关类、公共方法和东西、所有代码的信息)

请注意,根据项目的配置,可能会有不同的精确 DLL 结果:编译为 32 位还是 64 位?包括调试信息?哪个级别的优化?还有其他...

要获得详细信息并取回一个可用的 DLL 来替换旧的,您需要进一步分析您的 .NET 反编译库。另外,如果代码被签名,你将无法获得相同的签名(这实际上是签名的目的,以防止有人对代码进行篡改)


只是快速详细说明 DLL 是什么:它只是可执行代码,但不一定是“入口点”(public static main())。所以,你应该无法将文件重命名为“.exe”并执行它,即使内容基本相同。

DLL 中的这段代码可以被一个或多个可执行文件(.EXE 或其他 .DLL)引用。

【讨论】:

  • 基本上,只需创建一个类型为“类库”的新项目,包含 .cs 文件的代码,然后构建它。编译的输出将是一个 DLL,其中包含与您正在编译的 .cs 文件相对应的“.NET 代码”。 (包含有关类、公共方法和东西、所有代码的信息)
  • 这是我不明白的。怎么做 ?什么是“类库”?
  • 抱歉,我假设您使用的是用于 .NET 的常用 Microsoft IDE:Visual Studio(有免费版本)。
  • 您可以在这里查看各种编译建议:stackoverflow.com/questions/31475614/…。请记住,由于您的问题是基本的,因此我提供了一个基本的答案,为您搜索更多信息提供了线索。我不是专家,也许有人会为你写一个更好的答案,或者你会有一个更精确的问题,你可以稍后再问。
猜你喜欢
  • 2020-06-02
  • 2021-10-06
  • 1970-01-01
  • 2022-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-06-18
  • 1970-01-01
相关资源
最近更新 更多