2017-11-09 19 views
0

私は約5つのソリューション(.sln)を持つ単一のGitリポジトリを持っています。これらのソリューションの中には、同じプロジェクト(.csproj)を参照するものがあります。例えば:共有プロジェクト、複数のソリューション、同じGitリポジトリ

溶液1

----プロジェクト

----プロジェクトB

----プロジェクトC

溶液2

- ---プロジェクトB

----プロジェクトC

ここでの問題は、Visual Studio IDEで現在開かれているソリューションによっては、プロジェクトBが「ソース管理」としてマークされていないことです。私がプロジェクトを変更した場合、Gitは変更を追跡しません。

これはなぜ発生していますか?どうすれば修正できますか?

+0

プロジェクトBはソリューション1で作成されましたか?プロジェクトBをソリューション2にどのように追加しましたか?ソリューション1のプロジェクトBがgit repoで管理されている場合、プロジェクトBのために変更したものはgitによって追跡されます。 –

+0

オリジナルのプロジェクトがどこに作成されたのかはわかりません。多分、過去のプロジェクトBには独自の解決策がありました。 今のケースでは、両方のソリューションにプロジェクトBが含まれています。ソリューションを右クリックし、[追加] - [既存のプロジェクト]をクリックして追加します。 すべてのプロジェクトとソリューションは同じgitリポジトリの下にあります。 –

答えて

0

原因は、プロジェクトBはgit repoで管理されていません。

プロジェクトBが配置されているディレクトリを確認することで、再確認できます。ソリューションエクスプローラのソリューション2 - >プロジェクトエクスプローラでプロジェクトB - >フォルダを右クリックします。次に、プロジェクトBがある場所を見つけることができます。ディレクトリは主にローカルのgitリポジトリの場所とは異なります。

ソース管理にプロジェクトBを追加するには、プロジェクトBをローカルgitリポジトリの下にコピーする必要があります。別のソリューションから古いプロジェクトBを削除します(gitで管理されていないソリューションIDのために追加したプロジェクト)ので、必要に応じてプロジェクトB(ローカルgitリポジトリの下)を別のソリューションに再追加します。

プロジェクトBはgitリポジトリで管理する必要があります。プロジェクトBを変更すると、VSはコミットする変更を表示します。

+0

こんにちは@Marinaすべてのプロジェクトフォルダは同じレベルにあります。ソリューションファイルは、これらのプロジェクトの一部です。どうやら私は解決策からプロジェクトを単に削除し、それをもう一度追加するだけで、これを修正することができました。現在のソリューションは、異なるパス構造のプロジェクトを参照しているようです。 –

関連する問題