我有一个.il文件,我可以编译没有任何问题.我可以强烈地命名它,所以没有任何问题.但是我无法像我期望的那样通过属性设置文件版本.使用ilasm时如何设置程序集的FileVersion?
如果我往返一次,我总会得到一个.res文件,它只包含不可读的二进制数据.这个res文件里面有什么,可以编辑吗?
代码不起作用
.assembly myAssembly
{
.custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = { string('1.2.3.4') }
Run Code Online (Sandbox Code Playgroud)
Alo*_*aus 11
使用.res文件可以解决该问题.用ildasm和ilasm进行往返是不够的.IL文件不引用.res文件.我不得不手动将它添加到ilasm调用中.res文件中的数据似乎包含写入PE头的信息,这对我来说没问题.
最后的命令行是
ilasm test.il /dll /res:test.res
Run Code Online (Sandbox Code Playgroud)
我仍然不知道res文件中究竟是什么,但是我可以使用我手动创建的任何其他assemlby的元数据信息来解决它,然后根据需要对其进行反编译以替换原始程序集的元数据.
似乎没有多少人在做这样的事情.
| 归档时间: |
|
| 查看次数: |
1317 次 |
| 最近记录: |