当前位置: 首页 > 编程语言 > C#

ILMerge+本地化资源程序集分享

时间:2023-04-10 17:19:10 C#

ILMerge+本地化资源程序集(Form1.cs),所以没什么特别的。我的目标是使用作业资源管理器创建一个单一的程序集应用程序(我已经阅读了ILMerge和本地化资源程序集和单一程序集多语言Windows窗体部署(ILMerge和卫星程序集/本地化)-可能?有关如何执行此操作的信息)。编译项目后,我使用以下命令行参数运行ILMerge:ilmerge/log:test.txt/target:winexe/copyattrs/allowdup/out:test_merged.exe"C:projectdirbinDebugtest.exe""C:projectdirbinDebugfr-FRtest.resources.dll""C:\projectdirbinDebugnl-BEtest.resources.dll"如果我??用Reflector检查合并程序集的内容,我会在资源树节点下看到以下内容:而不是fr-FR和nl-BE资源,我有2xfr-FR资源。这是因为资源dll具有相同的名称吗?结果是我在运行时只能获取fr-FR资源。有任何想法吗?更新(日志文件内容):(注意:二进制文件以“loc_”为前缀,为清楚起见,我在之前的帖子中删除了它们)ILMerge版本2.10.526.0版权所有(C)MicrosoftCorporation2004-2006。版权所有。ILMerge/log:loc_test.txt/target:winexe/copyattrs/allowdup/out:loc_test_merged.exec:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugloc_test.exeC:Users\DocumentsVisualStudio2008Projecttestsloc.lloc_testbinDebugfr_sourcesC:Users\DocumentsVisualStudio20.08Projectsloc_testloc_testbinloc.projectsourcetestbinlocC:Users\DocumentsDocumentsVisualStudio2008Projectsloc_testloc_testbinDebugnl-BEloc_test.resources.dll将平台设置为“v2”,使用目录“C:WindowsMicrosoft.NETFrameworkv2.0.50727..v2.0.50727”用于在Microsoft(R).NETFramework上运行的mscorlib.dllv2.0.5cor.2dllversion=2.0.0.0输入程序集列表为:c:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugloc_test.exeC:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugfr-FRloc_test.resources.dllC:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugnl-BEloc_test.resources.dll试图从文件“c:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugloc_test.exe”中读取程序集。成功读取汇编。loc_test的元数据中没有报告错误。尝试从文件“C:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugfr-FRloc_test.resources.dll”中读取程序集。找不到PDB文件。程序集“C:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugfr-FRloc_test.resources.dll”的调试信息将不可用。成功读取汇编。loc_test.resources的元数据中没有错误报告。尝试从文件“C:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugnl-BEloc_test.resources.dll”中读取程序集。找不到PDB文件。调试信息将不可用于程序集'C:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugnl-BEloc_test.resources.dl我。成功读取汇编。loc_test.resources的元数据中没有错误报告。检查所有输入程序集是否都具有兼容的PeKind。loc_test.PeKind=ILonlyloc_test.resources.PeKind=ILonlyloc_test.resources.PeKind=ILonly所有输入程序集都有兼容的PeKind值。将程序集“loc_test”合并到目标程序集中。将程序集“loc_test.resources”合并到目标程序集中。将程序集“loc_test.resources”合并到目标程序集中。将程序集“loc_test”中的程序集级属性合并到目标程序集中。将2个Win32资源从程序集“loc_test”复制到目标程序集中。将入口点“loc_test.Program.Main”从程序集“loc_test”转移到程序集“loc_test_merged”。目标程序集的元数据中没有报告错误。ILMerge:编写目标程序集“loc_test_merged.exe”。AssemblyResolver:程序集“System”正在引用程序集“System.Configuration”。阿斯mblyResolver:正在尝试引用程序集的目录。找不到PDB文件。调试信息将不可用于程序集“System.Configuration”。将程序集引用“System.Configuration”解析为“C:WindowsMicrosoft.NETFrameworkv2.0.50727System.Configuration.dll”。(使用引用模块的目录。)引用程序集“System.Windows.Forms”的位置是“C:WindowsMicrosoft.NETFrameworkv2.0.50727System.Windows.Forms.dll”System.Windows.Forms的元数据中没有报告错误。引用程序集“系统”的位置是“C:WindowsMicrosoft.NETFrameworkv2.0.50727System.dll”系统的元数据中没有报告错误。引用程序集'mscorlib'的位置是'C:WindowsMicrosoft.NETFrameworkv2.0.50727mscorlib.dll'mscorlib的元数据中没有错误报告。引用程序集'System.Drawing'的位置是'C:WindowsMicrosoft.NETFrameworkv2.0.50727System.Drawing.dll'没有报告错误在System.Drawing的元数据中。ILMerge:完成。更新:包含项目代码的zip文件可在http://www.filedropper.com/loctest获得ilmerge/log:loc_test.txt/target:winexe/copyattrs/allowdup/out:loc_test_merged.exe"c:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugloc_test.exe""C:Users\DocumentsVisualStudio2008Projectsloc_testmerloc_testbinDebugfr-FRloc_test.resources.resources.:loc_test.txt/target:winexe/copyattrs/allowdup/out:loc_test_merged_2.exeloc_test_merged.exe"C:Users\DocumentsVisualStudio2008Projectsloc_testloc_testbinDebugnl-BEloc_test.resources.dll"这可能是什么原因?谢谢,Janiek虽然我不知道为什么ILMerge分两步正确集成组件,这似乎是目前唯一的解决方案检查我在问题中的最后编辑,看看我是怎么做到的。我仍然想知道为什么不能一步完成。以上就是C#学习教程的全部内容:ILMerge+本地化资源汇编分享,如果对大家有用,需要进一步了解C#学习教程,希望大家多加关注——本文采集自上网,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: