From 4ae5bcea64e224d13749747c25dc2a06981b338e Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 21 Mar 2022 10:14:41 -0700 Subject: [PATCH 1/3] Add a simple validation target to identify when a project has the same assembly name as another project. --- src/tests/Common/mergedrunner.targets | 15 +++++++++++++++ src/tests/Directory.Build.targets | 2 +- 2 files changed, 16 insertions(+), 1 deletion(-) create mode 100644 src/tests/Common/mergedrunner.targets diff --git a/src/tests/Common/mergedrunner.targets b/src/tests/Common/mergedrunner.targets new file mode 100644 index 0000000000000..214d1acaddff6 --- /dev/null +++ b/src/tests/Common/mergedrunner.targets @@ -0,0 +1,15 @@ + + + + <_ProjectReferencesUsedByReferencePaths Include="@(ReferencePath->Metadata('ProjectReferenceOriginalItemSpec'))" /> + <_ProjectReferencesRemovedDueToConflictResolution Include="@(ProjectReference)" Exclude="@(_ProjectReferencesUsedByReferencePaths)" /> + + + + + + + \ No newline at end of file diff --git a/src/tests/Directory.Build.targets b/src/tests/Directory.Build.targets index 83fc0834e262e..bc9091db249a9 100644 --- a/src/tests/Directory.Build.targets +++ b/src/tests/Directory.Build.targets @@ -462,7 +462,7 @@ - + From d3dc052ca01a9395dad5c233793d1c6dd9f1358b Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 21 Mar 2022 12:04:02 -0700 Subject: [PATCH 2/3] Only include project reference with the default item type in the conflict resolution check --- src/tests/Common/mergedrunner.targets | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/src/tests/Common/mergedrunner.targets b/src/tests/Common/mergedrunner.targets index 214d1acaddff6..333d620845c56 100644 --- a/src/tests/Common/mergedrunner.targets +++ b/src/tests/Common/mergedrunner.targets @@ -2,13 +2,14 @@ <_ProjectReferencesUsedByReferencePaths Include="@(ReferencePath->Metadata('ProjectReferenceOriginalItemSpec'))" /> - <_ProjectReferencesRemovedDueToConflictResolution Include="@(ProjectReference)" Exclude="@(_ProjectReferencesUsedByReferencePaths)" /> + <_ProjectAssemblyReferences Include="@(ProjectReference)" Condition="'%(ProjectReference.OutputItemType)' == ''" /> + <_ProjectReferencesRemovedDueToConflictResolution Include="@(_ProjectAssemblyReferences)" Exclude="@(_ProjectReferencesUsedByReferencePaths)" /> - + From ecee4f161b9bf1b8b755a756e2df1032a8a9ae3d Mon Sep 17 00:00:00 2001 From: Jeremy Koritzinsky Date: Mon, 21 Mar 2022 17:12:03 -0700 Subject: [PATCH 3/3] Update src/tests/Common/mergedrunner.targets Co-authored-by: Bruce Forstall --- src/tests/Common/mergedrunner.targets | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/tests/Common/mergedrunner.targets b/src/tests/Common/mergedrunner.targets index 333d620845c56..8d67c629d6130 100644 --- a/src/tests/Common/mergedrunner.targets +++ b/src/tests/Common/mergedrunner.targets @@ -9,7 +9,7 @@ Produce an error if any project references were removed due to conflict resolution. If a ProjectReference is removed due to conflict resolution, then we're likely losing test coverage as it's probably a test that has the same assembly name and version as another test. --> - +