2

最近ac#プロジェクトへの変更をチェックインしていて、チェックイン中に.csprojファイルを手動でマージする必要がありました。マージを行っているときに、プロジェクト内のすべてのプロジェクト参照に重複するエントリがあることに気付きました。

具体的には、ProjectReferenceタグは、マージされるプロジェクトで参照されている他のプロジェクトごとに複製されました。そのようです:

<ProjectReference Include="..\..\..\DataSourceInterfaces\DataSourceInterfaces.csproj">
  <Project>{335ED423-8DC5-4D56-86D6-9A1B0F7DB0B9}</Project>
  <Name>DataSourceInterfaces</Name>
</ProjectReference>
<ProjectReference Include="..\..\..\DataSourceInterfaces\DataSourceInterfaces.csproj">
  <Project>{335ED423-8DC5-4D56-86D6-9A1B0F7DB0B9}</Project>
  <Name>DataSourceInterfaces</Name>
</ProjectReference>

Visual Studio UIに移動して、DataSourceInterfacesプロジェクトへの参照を削除すると、タグの1つだけが削除され、次にプロジェクトをロードしたときに、参照が削除されていないかのように参照リストに表示されます。 。

これは、重複するエントリを手動で削除することで簡単に修正でき、問題は発生しないようですが、そもそも何が問題を引き起こしたのでしょうか。

4

1 に答える 1

2

そもそも何が問題を引き起こしたのだろうか。

手動マージ中にマージツールが失敗し、重複するプロジェクト参照が追加されたようです。手動でマージする場合は、この種のことが起こらないように注意する必要があります。必要なのは、インデントや空白の変更など、マージツールをときどき台無しにするわずかな違いだけです(これは、質問ですが)。

于 2012-06-13T20:40:13.393 に答える