如何使用反射更改.net可执行文件的值?

时间:2011-02-08 22:52:50

标签: .net reflection

我有一个程序依赖于三个设置的配置文件。我目前在下载时为每个下载的版本生成一个新的配置文件(它是相同的可执行文件,但我填写下载页面上适当的配置值并压缩exe和配置文件以便提供单个下载)。

我想用反射来:

1。)读入.exe

2.)更改3个字符串值

3.。)使用新值

写出一个新的.exe

这可能吗?我该怎么做呢?

1 个答案:

答案 0 :(得分:2)

使用反射是不可能的。反思只能检查,而不能修改。还有其他工具可以像Mono.Cecil那样做。但我认为你只是设计错了。应该更改的值应该存储在exe之外的独立.config文件中。

另一种方法是在每次下载之前构建exe文件,并在构建时传递值。无论如何不是好主意。