将.exe与本地化dll合并

时间:2015-01-12 13:08:00

标签: c# dll merge .net-4.5

我有c#forms应用程序,它使用一堆.resx文件进行licalization。他们被命名 myproject \ localization \ mystring.da-DK.resx,myprogram \ localization \ mystring.fr-FR.resx等。

当我编译程序时,resx文件被转换为放置在这样的文件夹中的dll文件: BIN \ DA-DK \ myprogram.resources.dll

如何将这些.dll文件合并到myprogram.exe文件中?

我尝试使用ILMerge并使用以下命令: "ILMerge.exe" /log:"c:\temp\log.txt" "c:\temp\nctoolbar\NCToolbar.exe" "c:\temp\nctoolbar\da-dk\NCToolbar.resources.dll" "c:\temp\nctoolbar\HtmlAgilityPack.dll" /out:"c:\temp\Merged.exe" /targetplatform:v4 /lib:"C:\Program Files (x86)\Reference Assemblies\Microsoft\Framework\.NETFramework\v4.5" 这似乎适用于HtmlAgilityPack.dll,但不适用于本地化文件。

Single-assembly multi-language Windows Forms deployment (ILMerge and satellite assemblies / localization) - possible?此链接讨论System.ComponentModel.ComponentResourceManager,但我不知道我的XXX.Designer.cs。我正在使用4.5框架。

1 个答案:

答案 0 :(得分:0)

迟到总比没有好!我希望你解决了你的问题,但下次,想想这个有用的工具来实现这个目标:ILMerge-GUI。非常简单快捷。