我正在尝试创建一个应用程序可以修改 IL 中的属性以创建一个略有不同的可执行文件。例如,客户端 A 运行应用程序,并且 WinForm 标签上的标签读取“客户端 A:”。客户端 B 运行应用程序,标签显示“客户端 B”。容易我知道使用配置文件或资源文件,但这不是这个项目的选择。主程序需要能够根据用户输入的一些表单域动态生成.exe文件。
我的解决方案是创建一个独立的可执行文件,其中包含我需要动态化的所有元素。然后我使用 ildasm 生成 IL 并认为我可以使用这个 IL 并用标签替换我想要动态的元素。然后,在用户使用正则表达式等填写表单后,我可以在运行时替换这些标签。问题是,如果我将 ILDASM 生成的 IL 文件另存为 exe 并尝试运行它。我只是启动控制台,什么都不做。
我会以错误的方式解决这个问题吗?我不想深入研究反射,因为动态 .exe 非常简单,我认为使用 ildasm 对 IL 进行逆向工程是最快的方法。
非常感谢您的想法和建议。托尼