如何编辑和重新编译c#resource-dll

时间:2015-08-01 05:04:04

标签: c# dynamics-crm decompiling .net-reflector resource-dll

我一直在尝试编辑资源文件,添加对新语言的支持,但这是发生的事情,

在一些dll反编译器中我看不到资源文件,(Resource Turner,PE Explorer ......)

Resource Tuner

<。>在.Net Reflector中,我看到了资源文件,但我无法编辑它

.Net Reflector

我能够使用Reflector FileDisassembler工具反汇编dll,这给了我一个C#sln文件,这看起来不是一个完整的项目

VS

但是当我编辑并重新编译项目到一个dll文件,然后把它放回原来的位置时,会产生错误,因为dll无效

任何人都可以帮助我,或者只是告诉我正确的方向。

P.S。 1,显然dll签名过程不是问题,因为这个dll只是一个资源文件,应用程序只是在运行时签名或类似的东西,我不太确定它是如何完成的,但我已经读过了我不需要担心这个。

P.S。 2,我想做的事情是100%可行的,因为有些公司已经做了很长时间的这种方法。

1 个答案:

答案 0 :(得分:1)

并非有人关心,但这是解决方案:

关键在于,资源dll无需使用应用程序.snk进行签名,甚至根本不需要签名,但必须使用主资源dll(eg. App.string.dll并且卫星dll(eg. /ar/App.string.resource.dll)具有相同的Public Key Token(等于1,甚至为空)。

所以简单来说,需要反编译主资源dll,将sattelite dll中的资源添加到主项目中,然后用VS编译它们,这样它们都有相同的公钥标记