From 37a2d92446140060bf0876cedb775ae21d7be3d4 Mon Sep 17 00:00:00 2001 From: Jared Parsons Date: Tue, 27 Dec 2022 10:56:57 -0800 Subject: [PATCH] Framework compilers package for MSBuild consumption https://github.com/dotnet/msbuild/issues/7832 --- Compilers.sln | 7 +++ Roslyn.sln | 7 +++ ...oft.Net.Compilers.Framework.Package.csproj | 47 +++++++++++++++++++ .../Microsoft.Net.Compilers.Framework.props | 16 +++++++ .../Microsoft.Net.Compilers.Framework.props | 4 ++ 5 files changed, 81 insertions(+) create mode 100644 src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/Microsoft.Net.Compilers.Framework.Package.csproj create mode 100644 src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/build/Microsoft.Net.Compilers.Framework.props create mode 100644 src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/buildMultiTargeting/Microsoft.Net.Compilers.Framework.props diff --git a/Compilers.sln b/Compilers.sln index 62127a253d88a..ffba96f9a0264 100644 --- a/Compilers.sln +++ b/Compilers.sln @@ -165,6 +165,8 @@ Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.CodeAnalysis.CSha EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestDiscoveryWorker", "src\Tools\TestDiscoveryWorker\TestDiscoveryWorker.csproj", "{FB617466-C4A1-4289-A512-A06182FC779F}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Compilers.Framework.Package", "src\NuGet\Microsoft.Net.Compilers.Toolset\Framework\Microsoft.Net.Compilers.Framework.Package.csproj", "{992463BF-B341-4468-92D9-C61C1028E0FE}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -423,6 +425,10 @@ Global {FB617466-C4A1-4289-A512-A06182FC779F}.Debug|Any CPU.Build.0 = Debug|Any CPU {FB617466-C4A1-4289-A512-A06182FC779F}.Release|Any CPU.ActiveCfg = Release|Any CPU {FB617466-C4A1-4289-A512-A06182FC779F}.Release|Any CPU.Build.0 = Release|Any CPU + {992463BF-B341-4468-92D9-C61C1028E0FE}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {992463BF-B341-4468-92D9-C61C1028E0FE}.Debug|Any CPU.Build.0 = Debug|Any CPU + {992463BF-B341-4468-92D9-C61C1028E0FE}.Release|Any CPU.ActiveCfg = Release|Any CPU + {992463BF-B341-4468-92D9-C61C1028E0FE}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -499,6 +505,7 @@ Global {48C93F90-8776-4847-96D8-127B896D6C80} = {C65C6143-BED3-46E6-869E-9F0BE6E84C37} {F3D9264A-7CAE-4265-AF48-0C863301F51E} = {32A48625-F0AD-419D-828B-A50BDABA38EA} {FB617466-C4A1-4289-A512-A06182FC779F} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} + {992463BF-B341-4468-92D9-C61C1028E0FE} = {274B96B7-F815-47E3-9CA4-4024A57A478F} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {6F599E08-A9EA-4FAA-897F-5D824B0210E6} diff --git a/Roslyn.sln b/Roslyn.sln index 552fc9c305112..23ec470e77479 100644 --- a/Roslyn.sln +++ b/Roslyn.sln @@ -525,6 +525,8 @@ Project("{778DAE3C-4631-46EA-AA77-85C1314464D9}") = "Microsoft.CodeAnalysis.Visu EndProject Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "TestDiscoveryWorker", "src\Tools\TestDiscoveryWorker\TestDiscoveryWorker.csproj", "{8BC50AFF-1EBF-4E9A-AEBB-04F387AA800F}" EndProject +Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "Microsoft.Net.Compilers.Framework.Package", "src\NuGet\Microsoft.Net.Compilers.Toolset\Framework\Microsoft.Net.Compilers.Framework.Package.csproj", "{521ADC3E-CC15-414B-9356-D87C5BCF3A24}" +EndProject Global GlobalSection(SolutionConfigurationPlatforms) = preSolution Debug|Any CPU = Debug|Any CPU @@ -1283,6 +1285,10 @@ Global {8BC50AFF-1EBF-4E9A-AEBB-04F387AA800F}.Debug|Any CPU.Build.0 = Debug|Any CPU {8BC50AFF-1EBF-4E9A-AEBB-04F387AA800F}.Release|Any CPU.ActiveCfg = Release|Any CPU {8BC50AFF-1EBF-4E9A-AEBB-04F387AA800F}.Release|Any CPU.Build.0 = Release|Any CPU + {521ADC3E-CC15-414B-9356-D87C5BCF3A24}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {521ADC3E-CC15-414B-9356-D87C5BCF3A24}.Debug|Any CPU.Build.0 = Debug|Any CPU + {521ADC3E-CC15-414B-9356-D87C5BCF3A24}.Release|Any CPU.ActiveCfg = Release|Any CPU + {521ADC3E-CC15-414B-9356-D87C5BCF3A24}.Release|Any CPU.Build.0 = Release|Any CPU EndGlobalSection GlobalSection(SolutionProperties) = preSolution HideSolutionNode = FALSE @@ -1522,6 +1528,7 @@ Global {4C1B26EE-465B-4B30-9E50-0285EF7AB035} = {3E5FE3DB-45F7-4D83-9097-8F05D3B3AEC6} {F836BDB1-4EC7-4F4C-B2E9-BCD721C9E650} = {3E5FE3DB-45F7-4D83-9097-8F05D3B3AEC6} {8BC50AFF-1EBF-4E9A-AEBB-04F387AA800F} = {FD0FAF5F-1DED-485C-99FA-84B97F3A8EEC} + {521ADC3E-CC15-414B-9356-D87C5BCF3A24} = {C52D8057-43AF-40E6-A01B-6CDBB7301985} EndGlobalSection GlobalSection(ExtensibilityGlobals) = postSolution SolutionGuid = {604E6B91-7BC0-4126-AE07-D4D2FEFC3D29} diff --git a/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/Microsoft.Net.Compilers.Framework.Package.csproj b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/Microsoft.Net.Compilers.Framework.Package.csproj new file mode 100644 index 0000000000000..f13d447272395 --- /dev/null +++ b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/Microsoft.Net.Compilers.Framework.Package.csproj @@ -0,0 +1,47 @@ + + + + net472 + + true + Microsoft.Net.Compilers.Framework + false + true + + .NET Framework Compilers Toolset Package + + Referencing this package will cause the project to be built using the C# and Visual Basic framework compilers contained in the package, as opposed to the version installed with MSBuild. + + This package is an implementation detail of a .NET SDK feature. Directly referencing this package is not supported. + + $(RoslynPackageDescriptionDetails) + + $(TargetsForTfmSpecificContentInPackage);_GetFilesToPackage + + $(NoWarn);NU5100;NU5128 + + <_DependsOn>InitializeDesktopCompilerArtifacts + <_DependsOn Condition="'$(TargetFramework)' == 'net6.0'">InitializeCoreClrCompilerArtifacts + + + + + + + + + + + + + <_File Include="@(DesktopCompilerArtifact)" TargetDir="tasks/net472"/> + <_File Include="@(DesktopCompilerResourceArtifact)" TargetDir="tasks/net472"/> + <_File Include="$(MSBuildProjectDirectory)\build\**\*.*" Condition="'$(TargetFramework)' == 'net472'" TargetDir="build" /> + <_File Include="$(MSBuildProjectDirectory)\buildMultiTargeting\**\*.*" Condition="'$(TargetFramework)' == 'net472'" TargetDir="buildMultiTargeting" /> + + + + + + + diff --git a/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/build/Microsoft.Net.Compilers.Framework.props b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/build/Microsoft.Net.Compilers.Framework.props new file mode 100644 index 0000000000000..90ad67b5feb6d --- /dev/null +++ b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/build/Microsoft.Net.Compilers.Framework.props @@ -0,0 +1,16 @@ + + + + + <_RoslynTargetDirectoryName>net472 + <_RoslynTasksDirectory>$(MSBuildThisFileDirectory)..\tasks\$(_RoslynTargetDirectoryName)\ + $(_RoslynTasksDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll + true + $(_RoslynTasksDirectory)Microsoft.CSharp.Core.targets + $(_RoslynTasksDirectory)Microsoft.VisualBasic.Core.targets + + + + + + diff --git a/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/buildMultiTargeting/Microsoft.Net.Compilers.Framework.props b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/buildMultiTargeting/Microsoft.Net.Compilers.Framework.props new file mode 100644 index 0000000000000..1d5afc708a528 --- /dev/null +++ b/src/NuGet/Microsoft.Net.Compilers.Toolset/Framework/buildMultiTargeting/Microsoft.Net.Compilers.Framework.props @@ -0,0 +1,4 @@ + + + +