ILASM does not set FileVersion

 ̄綄美尐妖づ 提交于 2019-12-22 05:24:25

问题


I have an .il file which I can compile without any problems. I can strong name it and so without any issues. But I am not able to set the file version via the attribute as I would expect it. How can I set the FileVersion for an assembly when using ilasm?

If I do a round trip I get always a .res file which does contain only binary data which is not readable. What is inside this res file and can I edit it?

The code does not work

.assembly myAssembly 
{
  .custom instance void [mscorlib]System.Reflection.AssemblyFileVersionAttribute::.ctor(string) = { string('1.2.3.4') }

回答1:


The issue can be solved by using the .res file. It is not sufficient to do a round trip with ildasm and ilasm. The IL file does not reference the .res file. I had to add it to the ilasm call manually. The data in the res file seemed to contain the infos which are written into the PE header which is ok for me.

The final command line needed was

ilasm test.il /dll /res:test.res

I still do not know what exactly is inside the res file but I can exhange it with the meta data information of any other assemlby that I create manually and then decompile it to replace the metadata of the original assembly as I need.

It seems not many people are doing such stuff.



来源:https://stackoverflow.com/questions/9192145/ilasm-does-not-set-fileversion

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!