Mercurial 担当者に ac# ライブラリ (VS2010 で開発中) があり、現在 netFX-3.5 をターゲットにしています。ライブラリで使用したい netFX-4.0 の機能がいくつかありますが、2.0 CLR に限定されているプロジェクトがたくさんあるため、netFX-3.5 バージョンも保持および維持したいと考えています。当然のことながら、両方のバージョンで同一のコード (場合によってはほとんどのコード) が存在します。今、これを維持するための最良の(または少なくとも良い)方法であることに戸惑っています。
VS で別のプロジェクトを作成する必要がありますか? それとも、リポジトリのクローンを作成しますか? そのための実績のある戦略はありますか?
更新: VS Add as Link機能を見つけました。これにより、プロジェクト間でファイルを共有できます。これは、2 つのターゲットを同じソリューション内の 2 つのプロジェクトとして実装する上で大きな利点です。私はこの解決策を採用していると確信していますが、さらにアドバイスがあれば、それは素晴らしいことです!
Update2:
前に述べたように、 [リンクとして追加] 機能を使用して、次のように目的の結果を達成しました: 古い (3.5) フレームワーク用の新しいプロジェクトを作成します。最上位バージョンのプロジェクトからのリンクとしてすべてのファイルを追加します。v4.0 プロジェクトでは、netFX-4.0 機能を のpartial class
ような仕様でクラスに追加しますClassName.Net40.cs
。私にとってはうまくいきます。