在不重新编译的情况下更改程序集清单

问题描述:

在.NET中,是否有一种工具或其他方法可以让我们修改程序集的清单,而无需修改AssemblyInfo并重新构建程序集?在不重新编译的情况下更改程序集清单

+1

通过指出有两种类型的程序集清单,'mt.exe'使用的XML和最易于查看的MSIL清单,可以使用ildasm.exe – Cameron 2015-05-26 02:17:47

你可以使用IL反汇编/汇编工具,如下所述:

Editing an assembly's manifest and more...

您可以使用二进制编辑器来修改清单。我用UltraEdit打开dll并修改清单。它是PE文件的纯文本部分 - 通常位于文件末尾附近。

此外,您通常不能使用此方法添加到程序集。对于更改字节但不添加或删除是安全的。从程序集中删除字节的等价物将是用空格字符替换字符 - 这样总的字节数就不会改变。

+1

来澄清此注释,但请记住它是否为签署的大会,它将不得不重新签署,这是超出了这个问题的范围。 – 2009-07-14 02:04:07

您可以使用MT.exe。它附带SDK。有一个很好的解释如何使用它here