C# 如何修改现有程序?

C# 如何修改现有程序?,c#,wpf,compilation,recompile,C#,Wpf,Compilation,Recompile,这是一个笼统的问题,而不是具体的问题,但在我的情况下,我有一个程序,我给了,但不幸的是,它被打破了。(它以前工作过,这是很久以前的事了) 该程序是一个C#WPF.exe,但我只是在学习编程,不知道如何修复它。我想,当我反编译它时(dotPeek,但它似乎是只读的),我可以查看它背后的代码,但我不知道如何编辑和重新编译程序,使其像以前一样工作。我试着用谷歌搜索,但我不确定用什么术语来回答这个问题,我用过的那些术语也没用 Tl;dr-如何修改程序(特别是C#WPF.exe)合并了@PaulF的评论:

这是一个笼统的问题,而不是具体的问题,但在我的情况下,我有一个程序,我给了,但不幸的是,它被打破了。(它以前工作过,这是很久以前的事了)

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


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

合并了@PaulF的评论:


程序不会自动崩溃——除了被破坏——如果是这样的话,反编译就行不通了。因此,您需要了解它停止工作的原因-反编译和重新编译可能无法工作。从它工作到停止工作(可能是操作系统版本或PC)发生了什么变化?你能回到它工作的状态吗

如果这不是问题所在,那么:

你有权访问源代码吗?如果没有,那么不重新编写并重新部署它就无法使其工作,这不是一件坏事。然后你就可以得到源代码,并希望对其进行源代码控制

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

这是您仅有的三个选择:

  • 找出哪些依赖项/配置已更改
  • 获取源代码并修改它
  • 重写

  • “如何修改程序(特别是C#WPF.exe)”您需要获得该程序的源代码/项目。从反编译中修复它可能比从头开始编写要花费更多的精力。另一个问题是:错误是什么?也许可以通过适当的配置进行修复?你拥有代码的所有权吗?如果它不是您的代码,并且是封闭源代码,那么在对其进行反向工程时,您甚至可能会遇到许可证问题。程序不会自动中断(除了被破坏),如果是这种情况,则反编译将无法工作。因此,您需要了解它停止工作的原因-反编译和重新编译可能无法工作。从它工作到停止工作(可能是操作系统版本或PC)发生了什么变化?你能回到它工作的状态吗?这个程序依赖于mysql,但是在幕后已经发生了很多变化,而且这个程序在一段时间内没有得到太多的使用。我不确定您是否可以在不深入研究源代码的情况下修复此问题。那么您看到的是SQL模式与程序的预期模式不再匹配了?在这种情况下,您可能需要更改代码,但实际上,您需要原始源代码。如果源代码不可用,这里提到的还有其他几种工具,我没有使用过,因此无法说明它们有多好: