2015-08-01 3 views
-2

Je suis en train de modifier un fichier de ressources, pour ajouter le support pour une nouvelle langue, mais voici ce qui se passe,comment modifier et recompiler ressources dll aC#

dans certains décompilateurs dll Je ne vois pas la fichier de ressources (ressources Turner, PE Explorer ...)

Resource Tuner

en .Net réflecteur, je vois le fichier de ressources, mais je ne peux pas le modifier

.Net Reflector

ce que je suis todo en mesure est de démonter le dll en utilisant l'outil Reflector FileDisassembler, cela me donne un fichier C# SLN, qui semble pas être un projet complet

VS

mais quand j'éditer et re -Compiler le projet dans un fichier dll, et le remettre où il était censé être, il génère une erreur, comme la DLL n'est pas valide

peut-on s'il vous plaît aidez-moi ou montrez-moi la bonne direction.

P.S. 1, apparemment le processus de signe dll n'est pas un problème, puisque cette DLL est juste un fichier de ressources et l'application le signe dans l'exécution ou quelque chose comme ça, je ne suis pas sûr de la façon dont c'est fait, mais j'ai lu que je n'ai pas besoin d'être inquiet à ce sujet.

P.S. 2, la chose que je veux faire est 100% faisable, comme certaines entreprises ont fait cette méthode depuis longtemps.

Répondre

0

Non pas que quelqu'un se soucie, mais voici la solution:

le point clé est que, il ne faut pas pour la dll des ressources à signer avec l'application .snk ou même être signé du tout, mais il est obligatoire que la ressource principale dll (eg. App.string.dll) et les dll satellites (eg. /ar/App.string.resource.dll) a le même Public Key Token (égal à un, voire nul).

donc être simple, il faut décompiler le principal dll des ressources, ajouter les ressources de la dll sattelite dans le projet principal, et le compiler avec VS ils ont tous deux un même jeton de clé publique