.net 如何向现有已签名程序集添加资源

.net 如何向现有已签名程序集添加资源,.net,resources,assemblies,.net,Resources,Assemblies,鉴于: -程序集(例如“SomeLib.dll”) -文本文件(例如“myconfig.xml”) 我需要将文件myconfig.xml嵌入现有程序集SomeLib.dll 在按下“回答”之前,请考虑:我知道编译期间的资源嵌入(CSC.EX./Entabase:file…) 问题是,我需要在创建程序集后嵌入一个资源 可能吗 我也知道ILMerge。但是还没有发现它有什么帮助。您需要在添加资源后退出程序集。程序集签名的全部目的是防止人们修改程序集的内容而不知道它是否已被修改。您可以使用signco

鉴于: -程序集(例如“SomeLib.dll”) -文本文件(例如“myconfig.xml”)

我需要将文件myconfig.xml嵌入现有程序集SomeLib.dll

在按下“回答”之前,请考虑:我知道编译期间的资源嵌入(CSC.EX./Entabase:file…) 问题是,我需要在创建程序集后嵌入一个资源

可能吗


我也知道ILMerge。但是还没有发现它有什么帮助。

您需要在添加资源后退出程序集。程序集签名的全部目的是防止人们修改程序集的内容而不知道它是否已被修改。您可以使用signcode.exe在添加资源后退出程序集,前提是您拥有正确的证书。

可以使用将模块和资源合并到签名程序集中。但是,我还没有找到一种方法来使用现有程序集作为输入

> al.exe SomeLib.module /out:SomeLib.dll /keyfile:SomeLib.snk /embed:myconfig.xml

您可以使用:加载程序集、添加资源、保存到程序集。

您可以使用从命令行自动修改程序集(他们的教程包括如何自动执行的示例)。修改后,您只需退出程序集。

退出程序集不是问题。ILMerge做得很好。问题是如何在重新编译所有源代码的情况下向现有程序集添加资源。我也是。我查看了al.exe,没有发现它有什么帮助。仅当要找到从现有.dll获取*.module的方法时…:-/你有没有可能分享你最终使用的代码?我和塞西尔玩过,但没能让它真正节省资源。谢谢