ブランドを変更したい Windows 製品のスイートがあります。一部はDLLで、一部はEXEです。C++ のものもあれば、.NET ベースのものもあります。
ブランド情報のタイプは主に文字列ですが、ある時点で画像が含まれる場合があります。
いくつかのアプローチが思い浮かびますが、飛び出すものはありません。
- コンパイラ ディレクティブの使用: 異なるプリプロセッサ定義で同じプロジェクトをビルドする
- バイナリ パッチ: アセンブリをビルドした後、ツールを使用して適切な情報を挿入します。
- ブランディングの抽象化: IBrandingProvider に対してアプリケーションをコーディングし、プロバイダーを DLL に実装します。
- メタデータ ファイルをローカルで変更する: 自動ビルド プロセスで、適切な情報を使用してすべての AssemblyInfo.cs / *.rc のローカル編集を実行し、ブランドごとにビルドします。
この問題は、それぞれ 2 つの既知のブランドを持つ 10 の製品で発生しています。
他に考慮すべきアプローチはありますか?