2 つの異なるロゴ (およびその他の文字列) を持つ 2 つの名前で開発された C# 製品があり、アプリの構成方法 (コンパイル時または実行時、まだ設定なし) に応じて、これらの異なる値を選択/表示する方法が必要です。 )。
ビジネス ロジック、UI レイアウトなどは、両方のバージョンで同じになります。
現在のコードはいくぶんレガシーなので、ビジネス ロジックなどに多くの文字列が散らばっています。リソース ファイルなどは実際には使用していません。国際化は当面の問題ではありませんが、近い将来に発生する可能性があります。
私は次のアプローチを検討していました:
- コンパイル時スクリプトが入力されたランタイム ディクショナリ、または XML ディクショナリ (または同様のもの) のファサードとして、列挙型またはその他の内部値をキーとして使用して、画像の同様の構造を持ちます。
- Microsoftリソースファイル(.resx)を使用していますが、私が見たところ、これらは異なる製品構成ではなく、異なる言語(フランス語など)を対象としているようです
- さまざまなビルド Visual Studio プロジェクト。何らかの方法で文字列を別々のプロジェクトに格納します (ビルド プロジェクトがビジネス ロジック + product_version_X_strings プロジェクトを参照するように)。
- 1 - 3 の順列
また、異なる git ブランチで 2 つの製品バージョンを実行し、関連する文字列を検索して置換することも提案されています。
理想的には、ソリューションを拡張/拡張して、アプリケーションに含まれるすべてのユーザー向け文字列を含める (したがって一元化する) ことができます。
これを行うためのより良い方法、または私が認識していない構造はありますか? 好ましいアプローチは何ですか?