在托管代码中无法做到这一点。一旦资源被嵌入,它就像编译的MSIL代码一样成为程序集的一部分。
原文链接:https://www.f2er.com/windows/372306.html但是,您可以手动执行此操作,例如suggested by Lucero,通过使用ildasm将DLL反汇编成文本文件,使用文本编辑器删除资源,最后使用ilasm重新组合DLL。
以下是一个使用单一嵌入文本文件的DLL的示例:
1)将DLL解压缩为MSIL:
ildasm MyLibrary.dll /out=MyLibrary.il
2)打开生成的MyLibrary.il文件并删除.mresource部分:
.mresource public MyLibrary.MyResource.txt { // Offset: 0x00000000 Length: 0x0000000F // WARNING: managed resource file MyLibrary.MyResource.txt created }
ilasm MyLibrary.il /dll