Как добавить ресурс в существующую подписанную сборку - PullRequest
3 голосов
/ 24 апреля 2009

Принимая во внимание: - сборка (например, "SomeLib.dll") - текстовый файл (например, «myconfig.xml»)

Мне нужно встроить файл myconfig.xml в существующую сборку SomeLib.dll

Пожалуйста, подумайте, прежде чем нажимать «Ответить»: я знаю о вложении ресурсов во время компиляции (csc.exe .. / embedresource: file ...).

Дело в том, что мне нужно встроить ресурс после создания сборки.

Возможно ли это?

Я также знаю об ILMerge. Но не нашел, как это могло помочь.

Ответы [ 4 ]

1 голос
/ 30 декабря 2009

Вы можете использовать Сесил для этого: загрузить сборку, добавить ресурс, сохранить в сборку.

0 голосов
/ 30 октября 2012

Возможно, вы сможете использовать Resource Hacker , чтобы автоматизировать изменение сборки из командной строки (их руководство включает примеры того, как автоматизировать). После внесения изменений вам нужно просто отказаться от сборки.

0 голосов
/ 25 апреля 2009

Инструмент компоновщика можно использовать для объединения модулей и ресурсов в подписанную сборку. Однако я не смог найти способ использовать существующую сборку в качестве входных данных.

> al.exe SomeLib.module /out:SomeLib.dll /keyfile:SomeLib.snk /embed:myconfig.xml
0 голосов
/ 24 апреля 2009

После добавления ресурса вам нужно будет отказаться от сборки. Весь смысл подписания сборки состоит в том, чтобы люди не могли изменять содержимое сборки, не имея возможности сказать, что она была изменена. Вы можете использовать signcode.exe, http://msdn.microsoft.com/en-us/library/9sh96ycy(VS.80).aspx для отставки сборки после добавления ресурса, при условии, что у вас есть соответствующие сертификаты.

...