2011-01-29 5 views
1

"Image Processing"というWindowsフォーム(C#)アプリケーションを作成しました。それは多くの外部DLLを使用するので、私はILMergeを使用してそれらをすべて1つのexeファイルにマージすることにしました。しかし、今日私は自分のアプリケーションをローカライズしました。ビルドした後は、 "en-US"、 "ru-RU"、 "uk-UA"の3つの新しいフォルダが、同じ名前の "ImageProcessing.resources.dll"を持つ1つのDLLと共に持っていました。そこで私はILMergeコマンドにすべてを含めました:ILMerging Windowsフォームアプリケーションのローカライゼーションに問題がある

ILMerge.exe /t:winexe /out:ImageProcessingRelease.exe ImageProcessing.exe AForge.dll AForge.Imaging.dll AForge.Math.dll DevExpress.Data.v10.2.dll DevExpress.Utils.v10.2.dll DevExpress.XtraBars.v10.2.dll DevExpress.XtraEditors.v10.2.dll FreeImageNET.dll uk-UA\ImageProcessing.resources.dll ru-RU\ImageProcessing.resources.dll en-US\ImageProcessing.resources.dll 

私のプログラムは言語ロケールを設定に保存します。合併後、私は言語を変更することはできませんが、設定は変化しています。

私は詳細についてはここに含めることができる他に何がわからないので、私に何を教えてください。

答えて

0

答えは簡単です。この場合、ILMergeは適切ではありません。.NET Frameworkは、使用するリソースファイルを判断するためにフォルダ構造に依存しているためです。

このようにアセンブリを組み合わせることは意味がなく、一部のサードパーティ製アセンブリベンダーのエンドユーザーライセンスでは、自分のアセンブリと製品をマージすることはできません。

関連する問題