如何使用Mono.Cecil / dnlib编辑AssemblyInfo?

时间:2016-03-03 08:55:12

标签: vb.net mono.cecil dnlib

正如问题所述,如何使用Mono.Cecil编辑已编译的可执行文件的程序集信息? 我尝试使用FileVersionInfo,但它是只读的,我开始知道Mono.Cecil / dnlib有可能。

1 个答案:

答案 0 :(得分:0)

我知道这个问题已经有几个月了,但是,无论如何我都会发布我的答案,也许有人可以在将来从中获利。

首先,dnlib / Mono.Cecil还没有内置功能来修改AssembyInfo .NET可执行文件或DLL。

但我可以建议您使用Daniel Doubrovkine的resourcelib

这是为这个purpouse创造的。 以下是如何使用它的示例:

VersionResource versionResource = new VersionResource();
versionResource.LoadFrom("C:\\MyFile.exe");

StringFileInfo stringFileInfo = (StringFileInfo)versionResource["StringFileInfo"];

versionResource["StringFileInfo"];
stringFileInfo["CompanyName"] = "My Company";
stringFileInfo["FileDescription"] = "This is a file";
stringFileInfo["ProductName"] = "My awesome product";
stringFileInfo["LegalCopyright"] = "Copyright Me";

您可以像这样保存更改:

versionResource.SaveTo("C:\\MyFile-patched.exe");