diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
index cca9e91baa7a..fe2f507440b7 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.FrameworkReferenceResolution.targets
@@ -338,7 +338,7 @@ Copyright (c) .NET Foundation. All rights reserved.
<_ExistingReferenceAssembliesPackageReference Include="@(PackageReference)" Condition="'%(PackageReference.Identity)' == 'Microsoft.NETFramework.ReferenceAssemblies'"/>
-
diff --git a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
index e4a557f82ab0..d4587122664c 100644
--- a/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
+++ b/src/Tasks/Microsoft.NET.Build.Tasks/targets/Microsoft.NET.Sdk.props
@@ -100,7 +100,7 @@ Copyright (c) .NET Foundation. All rights reserved.
false
false
false
- true
+ true
1.0.0
diff --git a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantAutomaticTargetingPackReferences.cs b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantAutomaticTargetingPackReferences.cs
index 56e584b3e7ae..c192bf219ea2 100644
--- a/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantAutomaticTargetingPackReferences.cs
+++ b/src/Tests/Microsoft.NET.Restore.Tests/GivenThatWeWantAutomaticTargetingPackReferences.cs
@@ -5,6 +5,7 @@
using Microsoft.Build.Utilities;
using Microsoft.NET.TestFramework;
using Microsoft.NET.TestFramework.Assertions;
+using Microsoft.NET.TestFramework.Commands;
using Microsoft.NET.TestFramework.ProjectConstruction;
using NuGet.Common;
using NuGet.Frameworks;
@@ -181,5 +182,46 @@ public void It_restores_net_framework_project_with_existing_references()
netFrameworkLibrary.Type.Should().Be("package");
netFrameworkLibrary.Version.ToFullString().Should().Be("1.0.0");
}
+
+ [Fact]
+ public void It_fails_without_assembly_pack_reference()
+ {
+ var targetFramework = "net472";
+ var testProject = new TestProject()
+ {
+ Name = "ProjectWithoutTargetingPackRef",
+ TargetFrameworks = targetFramework,
+ IsSdkProject = true,
+ };
+ testProject.AdditionalProperties["AutomaticallyUseReferenceAssemblyPackages"] = "false";
+
+ var testAsset = _testAssetsManager.CreateTestProject(testProject);
+
+ var buildCommand = new BuildCommand(Log, Path.Combine(testAsset.TestRoot, testProject.Name));
+ if (TestProject.ReferenceAssembliesAreInstalled(TargetDotNetFrameworkVersion.Version472))
+ {
+ buildCommand.Execute()
+ .Should()
+ .Pass();
+
+ string projectAssetsJsonPath = Path.Combine(
+ testAsset.Path,
+ testProject.Name,
+ "obj",
+ "project.assets.json");
+ LockFile lockFile = LockFileUtilities.GetLockFile(
+ projectAssetsJsonPath,
+ NullLogger.Instance);
+ lockFile.GetTarget(NuGetFramework.Parse(".NETFramework,Version=v4.7.2"), null).Libraries.FirstOrDefault((file) => file.Name.Contains("net472"))
+ .Should()
+ .BeNull();
+ }
+ else
+ {
+ buildCommand.Execute()
+ .Should()
+ .Fail();
+ }
+ }
}
}