2013-04-09 8 views
7

私のソリューションには3つのプロジェクトがあります。基本プロジェクトと、そのベースを参照するクライアントとサーバーです。Visual C#プロジェクト間でバージョンを同期するにはどうすればよいですか?

私がしたいのは、基本プロジェクトファイルのアセンブリバージョンを設定し、そのバージョンが常に一致するようにサーバーとクライアントに自動的に伝播させることです。理想的には、これはそれらを同期させるためのビルド前段階です。

これが可能かどうか、誰かがこれをどうやってやったらいいのでしょうか?

答えて

7

は、私たちがやっていることはクリスの答えに非常によく似ています。内部にはVersionInformationという静的クラスがあり、これにはProductVersionと呼ばれるものを含む定数ストリングが含まれています。これは実際にバージョン情報を設定します。

はその後、各プロジェクトのAssemblyInfo.csファイルで、私たちのAssemblyVersion行は次のようになります。あなたの場合

[assembly: AssemblyVersion(Company.Product.VersionInformation.ProductVersion)] 

、クライアントとサーバーの両方の参照ベースのプロジェクト以来、あなただけの基本プロジェクトで同様のものを含めることができます別のプロジェクトを作成する代わりに、

+0

それは完璧です。ありがとうございました! –

5

バージョン情報をソリューションのルートディレクトリにある別のファイル(AssemblyVersion.csなど)に移動します。次に、各プロジェクトのAssemblyInfo.csファイルからバージョン情報を削除し、共有AssemblyVersionファイルを各プロジェクトにリンクとして追加します。

  1. 右、プロジェクトをクリックし、共有ファイルへの既存の項目
  2. [参照の追加]をクリックし、[追加]ボタン上の小さな矢印をクリックしてドラッグ
  3. リンク
  4. ように、各内のプロパティのフォルダに作成されたファイルの追加]を選択しますプロジェクト。
  5. ???
  6. 利益!私たちは、 『製品』は、実際の製品名であるProductVersionというプロジェクトを、持っている

+0

解決策はありますが、私はJoel'sが私たちの設定でよりきれいだと言わなければなりません。ありがとう! –

関連する問題