From 0eab965113693819cec3eb4a39182f25e1f2038d Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 22 Oct 2025 20:26:57 +0000
Subject: [PATCH 1/3] Add exclusion for PublishDir in DefaultItemExcludes
Co-authored-by: baronfel <573979+baronfel@users.noreply.github.com>
---
 .../Microsoft.NET.Sdk.DefaultItems.targets    |  6 ++++
 .../GivenThereAreDefaultItems.cs              | 29 +++++++++++++++++++
 2 files changed, 35 insertions(+)
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
index 8d04b5e7c5f4..63a0585dd28a 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
@@ -51,6 +51,12 @@ Copyright (c) .NET Foundation. All rights reserved.
     $(DefaultExcludesInProjectFolder);$(DefaultItemExcludesInProjectFolder);**/.*/**
   
 
+  
+  
+    $(DefaultItemExcludes);$(PublishDir)/**
+  
+
   
diff --git a/test/Microsoft.NET.Build.Tests/GivenThereAreDefaultItems.cs b/test/Microsoft.NET.Build.Tests/GivenThereAreDefaultItems.cs
index 958b7cd48f66..d9fb34f84b41 100644
--- a/test/Microsoft.NET.Build.Tests/GivenThereAreDefaultItems.cs
+++ b/test/Microsoft.NET.Build.Tests/GivenThereAreDefaultItems.cs
@@ -854,6 +854,35 @@ public void It_does_not_include_Windows_App_SDK_items_if_Windows_App_SDK_is_abse
                 .BeEmpty();
         }
 
+        [Fact]
+        public void It_excludes_items_in_publish_directory()
+        {
+            Action setup = getValuesCommand =>
+            {
+                // Create a PublishDir with a JSON file (simulating a previous publish)
+                string publishDir = Path.Combine(getValuesCommand.ProjectRootPath, "artifacts", "TestLibrary");
+                WriteFile(Path.Combine(publishDir, "appsettings.json"),
+                    "{ \"Setting\": \"Value\" }");
+
+                WriteFile(Path.Combine(getValuesCommand.ProjectRootPath, "Code", "Class1.cs"),
+                    "public class Class1 {}");
+            };
+
+            Action projectChanges = project =>
+            {
+                var ns = project.Root.Name.Namespace;
+
+                var propertyGroup = new XElement(ns + "PropertyGroup");
+                project.Root.Add(propertyGroup);
+                propertyGroup.Add(new XElement(ns + "PublishDir", "artifacts\\TestLibrary\\"));
+            };
+
+            var noneItems = GivenThatWeWantToBuildALibrary.GetValuesFromTestLibrary(Log, _testAssetsManager, "None", setup, projectChanges: projectChanges);
+
+            // The appsettings.json file in the PublishDir should not be included in None items
+            noneItems.Should().NotContain(item => item.Contains("appsettings.json"));
+        }
+
         void RemoveGeneratedCompileItems(List compileItems)
         {
             //  Remove auto-generated compile items.
From c3b459215b9d411c06f2319305b304c61b1d615e Mon Sep 17 00:00:00 2001
From: "copilot-swe-agent[bot]" <198982749+Copilot@users.noreply.github.com>
Date: Wed, 22 Oct 2025 20:41:03 +0000
Subject: [PATCH 2/3] Move PublishDir exclusion into main PropertyGroup with
 other output paths
Co-authored-by: baronfel <573979+baronfel@users.noreply.github.com>
---
 .../targets/Microsoft.NET.Sdk.DefaultItems.targets       | 9 +++------
 1 file changed, 3 insertions(+), 6 deletions(-)
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
index 63a0585dd28a..c642309e69cb 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
@@ -35,6 +35,9 @@ Copyright (c) .NET Foundation. All rights reserved.
     $(DefaultItemExcludes);$(BaseOutputPath)/**
     
     $(DefaultItemExcludes);$(BaseIntermediateOutputPath)/**
+    
+    $(DefaultItemExcludes);$(PublishDir)/**
 
     
     $(DefaultItemExcludes);**/*.user
@@ -51,12 +54,6 @@ Copyright (c) .NET Foundation. All rights reserved.
     $(DefaultExcludesInProjectFolder);$(DefaultItemExcludesInProjectFolder);**/.*/**
   
 
-  
-  
-    $(DefaultItemExcludes);$(PublishDir)/**
-  
-
   
From d33b239812d731345a6312b7f8866bd04f76e4fe Mon Sep 17 00:00:00 2001
From: Chet Husk 
Date: Wed, 22 Oct 2025 15:46:01 -0500
Subject: [PATCH 3/3] Apply suggestion from @baronfel
---
 .../targets/Microsoft.NET.Sdk.DefaultItems.targets           | 5 +++--
 1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
index c642309e69cb..5d73e4d03ce3 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.DefaultItems.targets
@@ -35,8 +35,9 @@ Copyright (c) .NET Foundation. All rights reserved.
     $(DefaultItemExcludes);$(BaseOutputPath)/**
     
     $(DefaultItemExcludes);$(BaseIntermediateOutputPath)/**
-    
+    
     $(DefaultItemExcludes);$(PublishDir)/**