diff --git a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.Build.Tasks.Pack.targets b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.Build.Tasks.Pack.targets
index 286bba8f09a..c614d55f8e3 100644
--- a/src/NuGet.Core/NuGet.Build.Tasks/NuGet.Build.Tasks.Pack.targets
+++ b/src/NuGet.Core/NuGet.Build.Tasks/NuGet.Build.Tasks.Pack.targets
@@ -339,8 +339,7 @@ Copyright (c) .NET Foundation. All rights reserved.
Projects="@(_ProjectReferencesFromAssetsFile)"
Targets="_GetProjectVersion"
SkipNonexistentTargets="true"
- SkipNonexistentProjects="true"
- Properties="BuildProjectReferences=false;">
+ SkipNonexistentProjects="true">
@@ -359,9 +358,21 @@ Copyright (c) .NET Foundation. All rights reserved.
- <_ProjectsWithTFM Include="$(MSBuildProjectFullPath)" AdditionalProperties="TargetFramework=%(_TargetFrameworks.Identity)" />
- <_ProjectsWithTFMNoBuild Include="$(MSBuildProjectFullPath)" AdditionalProperties="TargetFramework=%(_TargetFrameworks.Identity);BuildProjectReferences=false" />
-
+
+ <_ProjectsWithTFM Condition="'$(TargetFrameworks)' != ''" Include="$(MSBuildProjectFullPath)" AdditionalProperties="TargetFramework=%(_TargetFrameworks.Identity)" />
+
+ <_ProjectsWithTFM Condition="'$(TargetFrameworks)' == ''" Include="$(MSBuildProjectFullPath)" />
+
+
+ <_FrameworkAssemblyReferenceProjects Include="@(_ProjectsWithTFM)" Condition="'$(NoBuild)' != 'true'" />
+ <_FrameworkAssemblyReferenceProjects Include="@(_ProjectsWithTFM)" Condition="'$(NoBuild)' == 'true'">
+ %(_ProjectsWithTFM.AdditionalProperties);BuildProjectReferences=false
+
@@ -408,7 +419,7 @@ Copyright (c) .NET Foundation. All rights reserved.
@@ -418,7 +429,7 @@ Copyright (c) .NET Foundation. All rights reserved.
diff --git a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs
index 9ef19bc460b..8265d2160de 100644
--- a/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs
+++ b/test/NuGet.Core.FuncTests/Dotnet.Integration.Test/PackCommandTests.cs
@@ -2692,7 +2692,8 @@ public class ExtensionMethods
var nuspecReader = nupkgReader.NuspecReader;
// Validate the assets.
var srcItems = nupkgReader.GetFiles("src").ToArray();
- Assert.Equal(4, srcItems.Length);
+
+ // At least the user-authored source files are always included.
Assert.Contains("src/ClassLibrary1/ClassLibrary1.csproj", srcItems);
Assert.Contains("src/ClassLibrary1/Class1.cs", srcItems);
Assert.Contains("src/ClassLibrary1/Extensions/ExtensionMethods.cs", srcItems);