5

2つの異なる会社(異なるロゴ、異なる名前)に対して同じプログラムを作成する必要があります。リリース時にこれを自動的に実行したいと思います。

リソースファイルまたは衛星アセンブリを使用することを考えていますが、どのように進めるかがわかりません。

どちらが一番いいと思いますか?

ありがとう。

編集:

  • 違いは、1つの画像と1つの文字列だけです。
  • すべてをワンクリックで生成したいのですが。
  • 将来的にはより多くのクライアントを獲得する可能性があります。
  • また、SmartAssemblyを使用してすべての依存関係を1つのexeファイルにマージすることも追加する必要があります。
4

3 に答える 3

4

コードの99%を含むクラスライブラリを作成し、それぞれが会社ごとに異なる1%の共通ライブラリを参照する2つのプロジェクトを持つことができます。次に、ソリューション全体をビルドすると、各企業の実行可能ファイルが生成されます。各企業が望んでいるものの違いが、[わずかに]異なるコードを必要とするだけの場合にこれを使用します。

または、コードではなくデータに応じて変化するセクションを作成することもできます。この場合、実行可能ファイルにロゴを埋め込むのではなく、ファイルからロゴを取得し、会社名の構成xmlファイルを作成することを意味する場合があります。これにより、両方の会社に対して1つの実行可能ファイルのみを使用できるようになります。

于 2012-05-25T19:51:39.837 に答える
2

別のアセンブリのリソース文字列が最も簡単な配布になります。

しかし、正直なところ、私はそれをカスタマイズ機能にします。最後に必要なのは、法的な理由、コピーライトケース、気まぐれな芸術的許容などのために、全員のロゴの変更を維持することです。

これは略して....フォーマットされたイメージを提供し、インストール中に会社名を割り当てて、レジストリまたは何らかのタイプのメタファイル(XML、マニフェストなど)に保存するようにします。

于 2012-05-25T19:51:37.517 に答える
1

私が考えることができる最高のものは、バッチスクリプトです。

プロジェクトに参照ファイル(画像(ロゴ)、テキスト(会社名)など)を取得します。つまり、C:\ MyProject\Resourcesです。プロジェクトがビルドされるときに、それらをアプリケーション/インストーラーなどに準拠させるようにします。

このようにして、会社ごとに必要なリソースをコピーするスクリプト(.batファイル)を作成できます。

ステップ1-Resourcesフォルダー内のすべてのファイルを削除します

ステップ2-MSBuild.exeを使用してプロジェクトをビルドします

ステップ3-必要なファイルをbin/releaseフォルダーからディレクトリ(C:\ Release \ CompanyAなど)にコピーします

ステップ4-スクリプトの変数を変更して、次の会社の詳細をロードします。そして、ステップ1から繰り返して、必要なリソースファイルをコピーして再構築します。

于 2012-05-25T20:06:20.390 に答える