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

问题描述 投票:0回答:1

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

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

Resource Tuner

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

.Net Reflector

我能做的就是使用Reflector FileDisassembler工具反汇编dll,这给了我一个C#sln文件,这似乎不是一个完整的项目

VS

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

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

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

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

c# dynamics-crm decompiling .net-reflector resource-dll
1个回答
1
投票

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

关键点在于,资源dll不必与应用程序.snk签名,甚至根本不需要签名,但主要资源dll(eg. App.string.dll)和卫星dll(eg. /ar/App.string.resource.dll)必须具有相同的权限Public Key Token(等于一,甚至为空)。

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

© www.soinside.com 2019 - 2024. All rights reserved.