2番目の実行可能ファイルを作成しようとしているソリューションがあります。これらの2つの実行可能ファイルはほとんど同じファイルを共有しますが、リソースやアプリケーションアイコンなどを含むいくつかの異なるファイルがあります。
2番目のプロジェクトを作成し、アイテムをリンクとして追加しました。
- 「既存のアイテムを追加」を右クリックし、
- それを閲覧し、
- [追加]ドロップダウンをクリックして、[リンクとして追加]を選択します。
リンクとして追加するということは、他のフォルダ内の他のファイルを参照するだけで、コピーしないことを意味します。
さて、プロジェクトをコミットしようとすると、VisualSVN / SVNは、それらが属する論理パス内のファイルにSVNを追加しようとしたため、ファイルが見つからないという多くのエラーが発生しました。それはコミット全体を失敗させ、お尻の大きな痛みでした。
副作用なしにファイルへのリンクを追加できる良い方法はありますか?リンクしようとしているすべてのファイルは、すでに同じリポジトリにあります。
アップデート
たぶん、私はそれを達成するのに役立つどんな提案にもオープンであるため、私が達成しようとしていることについてもっと情報を追加する必要があります。
私はこのようなプロジェクト構造を持っています...または私はそれをこのようにしたいと思います...
私のプロジェクト /一般 BusinessDataObjects(svn:external) ControlsLibrary(svn:external) OtherCommmonLib1(svn:external) OtherCommonLib2(svn:external) /モジュール モジュール1 モジュール2 モジュール3 ..。 アプリケーション1 Application2(異なる.resx、アイコン、名前、その他の小さな違いを除いて、すべてのApp1のファイルを共有します) SetupProject1(app1と特定のモジュールdllを含む) SetupProject2(app2および特定のモジュールdllを含む)
アプリケーションは基本的に空のシェル(Prismを使用)であり、/modulesフォルダーにインストールされているモジュールをロードします。両方のアプリケーションをほぼ同じにしたいのですが、名前とアイコンを変えてほしいと思います。最初のプロジェクトから2番目のプロジェクトへのファイルをリンクとして追加し、アプリケーションウィンドウのタイトルや[バージョン情報]ダイアログなどの文字列を含むリソースファイルを交換するだけで、これを実現できると思いました。しかし、VisualSVNまたはSVNを試みたものは何でも予期していなかったアイテムを追加します。
モジュールとアプリケーションのシェルプロジェクトを開発できる必要があります。それらはまだ安定していません。私はそれらをお互いのコピーに近づけたいだけですが、名前のわずかな違いがあります。2つのアプリケーションプロジェクトを考えたところ、各アプリケーションからの出力と、そのバージョンのソフトウェアプログラムに含まれるはずのモジュールを含む2つのセットアッププロジェクトを作成できました。
私はこれを可能な限り確実なものにしようとしていましたが、同じプロジェクトへの外部参照を更新する必要はありません。(私もそれについて少し混乱しています。同じリポジトリのsvn:externalでしょうか?)それは良くないように聞こえますが、これは2つのほぼ同一のアプリを作成する方法に関する私の主なアイデアでした。バージョン管理ソフトウェアを動作させることができない場合、他にどのようにそれを行うかわかりません。
私は口頭でソフトウェアのバージョンが1つだけで、特定のモジュールをアップグレードすることを提案しましたが、実際にはそれができない理由がいくつかあります。