From 300da79eb5ee37f705850af96b2bedfc81856c06 Mon Sep 17 00:00:00 2001 From: Drew Noakes Date: Thu, 16 Mar 2023 13:43:13 +1100 Subject: [PATCH 1/3] .NET projects produce a reference assembly by default In general we want to produce reference assemblies whenever possible, as they improve incremental build performance. Making them work end-to-end requires support from other components, such as fast up-to-date checks in VS. While support was originally added for SDK-style projects, it was not present for legacy `.csproj` files. Accordingly, `ProduceReferenceAssemblies` was set `true` only when the target framework was `net5.0` or later for C#/VB projects. Similarly, F# added support during `net7.0`, so a similar check was added for F# projects. VS 17.5 ships support for reference assemblies in the legacy CSPROJ fast up-to-date check, so all C#/VB projects are supported. Similarly, F# has full support. Consequently, it is now safe to enable the production and consumption of reference assemblies across all .NET project types, including .NET Framework, .NET Standard, .NET Core and .NET. This commit changes the default `ProduceReferenceAssembly` value to `true` for all .NET projects. --- src/Tasks/Microsoft.NET.props | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/src/Tasks/Microsoft.NET.props b/src/Tasks/Microsoft.NET.props index b983647d821..ce168f2ddc9 100644 --- a/src/Tasks/Microsoft.NET.props +++ b/src/Tasks/Microsoft.NET.props @@ -14,6 +14,16 @@ Copyright (C) Microsoft Corporation. All rights reserved. --> + + + true + + - true + true