如何编辑和重新编译 c# resource-dll
how to edit and recompile a c# resource-dll
我一直在尝试编辑资源文件,以添加对新语言的支持,但结果是这样的,
在一些dll反编译器中我看不到资源文件,(Resource Turner, PE Explorer ...)
在 .Net Reflector 中,我看到了资源文件,但我无法编辑它
我能做的是使用 Reflector FileDisassembler
工具反汇编 dll,这给了我一个 C# sln 文件,它似乎不是一个完整的项目
但是当我编辑项目并将其重新编译为 dll 文件,并将其放回原处时,它会生成错误,因为 dll 无效
谁能帮帮我,或者告诉我正确的方向。
P.S。 1,显然 dll 签名过程不是问题,因为这个 dll 只是一个资源文件,应用程序只是在运行时或类似的东西中对它进行签名,我不太确定它是如何完成的,但我已经阅读了我不需要为此担心。
P.S。 2、我想做的事情是100%可行的,有些公司早就在做这个方法了。
没有人关心,但这是解决方案:
关键是,资源dll不需要和应用程序签名.snk
甚至根本不需要签名,但是主资源dll(eg. App.string.dll
) 和卫星 dll (eg. /ar/App.string.resource.dll
) 具有相同的 Public Key Token
(等于 1,甚至为空)。
所以为了简单起见,需要反编译主资源dll,将sattelite dll中的资源添加到主工程中,然后用VS编译,所以它们都有相同的Public Key Token
我一直在尝试编辑资源文件,以添加对新语言的支持,但结果是这样的,
在一些dll反编译器中我看不到资源文件,(Resource Turner, PE Explorer ...)
在 .Net Reflector 中,我看到了资源文件,但我无法编辑它
我能做的是使用 Reflector FileDisassembler
工具反汇编 dll,这给了我一个 C# sln 文件,它似乎不是一个完整的项目
但是当我编辑项目并将其重新编译为 dll 文件,并将其放回原处时,它会生成错误,因为 dll 无效
谁能帮帮我,或者告诉我正确的方向。
P.S。 1,显然 dll 签名过程不是问题,因为这个 dll 只是一个资源文件,应用程序只是在运行时或类似的东西中对它进行签名,我不太确定它是如何完成的,但我已经阅读了我不需要为此担心。
P.S。 2、我想做的事情是100%可行的,有些公司早就在做这个方法了。
没有人关心,但这是解决方案:
关键是,资源dll不需要和应用程序签名.snk
甚至根本不需要签名,但是主资源dll(eg. App.string.dll
) 和卫星 dll (eg. /ar/App.string.resource.dll
) 具有相同的 Public Key Token
(等于 1,甚至为空)。
所以为了简单起见,需要反编译主资源dll,将sattelite dll中的资源添加到主工程中,然后用VS编译,所以它们都有相同的Public Key Token