如何修改现有程序?

How to modify existing program?

这是一个笼统的问题,而不是具体的问题,但就我而言,我有一个程序,但不幸的是它坏了。 (之前有用过,那是前段时间)

该程序是一个 C# WPF .exe,但我只是在学习编程,不知道如何修复它。我想,当我反编译它时(dotPeek,但它似乎是只读的),我可以查看它背后的代码,但我不知道如何编辑和重新编译程序以像以前一样工作。我尝试使用谷歌搜索,但我不确定用什么术语可以回答这个问题,而我使用的那些术语被证明是徒劳的。

Tl;dr - 如何修改程序(尤其是 C# WPF .exe)

来自@PaulF 的合并评论:

程序不会自行中断 - 除了被破坏 - 如果是这种情况,那么反编译将无法工作。因此,您需要了解它停止工作的原因 - 反编译和重新编译很可能不起作用。从工作到停止工作之间发生了什么变化(可能是操作系统版本或 PC)?你能回到它工作的状态吗?

如果这不是问题,那么:

您可以访问源代码吗?否则,如果不重写和重新部署就无法使它工作,这不是一件坏事。然后您将能够获得源代码并希望对它进行源代码控制。

dotPeek 允许您查看反编译代码,但您无法安全地对该文件执行任何操作。

关于您仅有的三个选择:

  1. 弄清楚 dependencies/configurations 发生了什么变化
  2. 获取源代码并进行修改
  3. 重写