Skip to content

Commit ce73a22

Browse files
authored
Use core compiler on netfx hosts with toolset package (#80631)
1 parent 0153a30 commit ce73a22

File tree

2 files changed

+28
-8
lines changed

2 files changed

+28
-8
lines changed

eng/test-rebuild.ps1

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ try {
3434

3535
if ($bootstrap) {
3636
Write-Host "Building Roslyn"
37-
& eng/build.ps1 -restore -build -bootstrap -prepareMachine:$prepareMachine -ci:$ci -useGlobalNuGetCache:$useGlobalNuGetCache -configuration:$configuration -pack -binaryLog
37+
& eng/build.ps1 -restore -build -bootstrap -prepareMachine:$prepareMachine -ci:$ci -useGlobalNuGetCache:$useGlobalNuGetCache -configuration:$configuration -pack -binaryLog /p:RoslynCompilerType=Framework
3838
Test-LastExitCode
3939
}
4040

src/NuGet/Microsoft.Net.Compilers.Toolset/AnyCpu/build/Microsoft.Net.Compilers.Toolset.props

Lines changed: 27 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -2,17 +2,37 @@
22
<Project>
33

44
<PropertyGroup>
5-
<_RoslynTargetDirectoryName Condition="'$(MSBuildRuntimeType)' == 'Core'">netcore</_RoslynTargetDirectoryName>
6-
<_RoslynTargetDirectoryName Condition="'$(MSBuildRuntimeType)' != 'Core'">net472</_RoslynTargetDirectoryName>
7-
<_RoslynTasksDirectory>$(MSBuildThisFileDirectory)..\tasks\$(_RoslynTargetDirectoryName)\</_RoslynTasksDirectory>
5+
<!--
6+
Even on netfx hosts we want to use netcore compiler to be consistent with SDK's behavior since .NET 10.
7+
The opt out is also the same as in SDK - setting RoslynCompilerType=Framework.
8+
-->
9+
<_UseRoslynBridgeTask Condition="'$(MSBuildRuntimeType)' != 'Core' and '$(RoslynCompilerType)' != 'Framework'">true</_UseRoslynBridgeTask>
10+
11+
<!-- Directory with .targets files. -->
12+
<_RoslynTargetsDirectoryName Condition="'$(MSBuildRuntimeType)' == 'Core'">netcore</_RoslynTargetsDirectoryName>
13+
<_RoslynTargetsDirectoryName Condition="'$(MSBuildRuntimeType)' != 'Core'">net472</_RoslynTargetsDirectoryName>
14+
<_RoslynTargetsDirectory>$(MSBuildThisFileDirectory)..\tasks\$(_RoslynTargetsDirectoryName)\</_RoslynTargetsDirectory>
15+
16+
<!-- Directory with BuildTask DLL. -->
17+
<_RoslynTasksDirectoryName Condition="'$(_UseRoslynBridgeTask)' == 'true'">netcore\binfx</_RoslynTasksDirectoryName>
18+
<_RoslynTasksDirectoryName Condition="'$(_RoslynTasksDirectoryName)' == ''">$(_RoslynTargetsDirectoryName)</_RoslynTasksDirectoryName>
19+
<_RoslynTasksDirectory>$(MSBuildThisFileDirectory)..\tasks\$(_RoslynTasksDirectoryName)\</_RoslynTasksDirectory>
20+
821
<RoslynCompilerType>Custom</RoslynCompilerType>
9-
<RoslynCoreAssembliesPath>$(_RoslynTasksDirectory)bincore\</RoslynCoreAssembliesPath>
22+
23+
<!-- .NET Core compiler assemblies. -->
24+
<RoslynCoreAssembliesPath Condition="'$(_UseRoslynBridgeTask)' != 'true'">$(_RoslynTasksDirectory)bincore\</RoslynCoreAssembliesPath>
25+
<RoslynCoreAssembliesPath Condition="'$(_UseRoslynBridgeTask)' == 'true'">$(_RoslynTasksDirectory)..\bincore\</RoslynCoreAssembliesPath>
26+
27+
<!-- Framework/Core (depending on the host) compiler assemblies. -->
1028
<RoslynAssembliesPath Condition="'$(RoslynAssembliesPath)' == '' and '$(MSBuildRuntimeType)' == 'Core'">$(RoslynCoreAssembliesPath)</RoslynAssembliesPath>
1129
<RoslynAssembliesPath Condition="'$(RoslynAssembliesPath)' == '' and '$(MSBuildRuntimeType)' != 'Core'">$(_RoslynTasksDirectory)</RoslynAssembliesPath>
12-
<RoslynTasksAssembly>$(_RoslynTasksDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll</RoslynTasksAssembly>
30+
31+
<RoslynTasksAssembly Condition="'$(_UseRoslynBridgeTask)' != 'true'">$(_RoslynTasksDirectory)Microsoft.Build.Tasks.CodeAnalysis.dll</RoslynTasksAssembly>
32+
<RoslynTasksAssembly Condition="'$(_UseRoslynBridgeTask)' == 'true'">$(_RoslynTasksDirectory)Microsoft.Build.Tasks.CodeAnalysis.Sdk.dll</RoslynTasksAssembly>
1333
<UseSharedCompilation Condition="'$(UseSharedCompilation)' == ''">true</UseSharedCompilation>
14-
<CSharpCoreTargetsPath>$(_RoslynTasksDirectory)Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath>
15-
<VisualBasicCoreTargetsPath>$(_RoslynTasksDirectory)Microsoft.VisualBasic.Core.targets</VisualBasicCoreTargetsPath>
34+
<CSharpCoreTargetsPath>$(_RoslynTargetsDirectory)Microsoft.CSharp.Core.targets</CSharpCoreTargetsPath>
35+
<VisualBasicCoreTargetsPath>$(_RoslynTargetsDirectory)Microsoft.VisualBasic.Core.targets</VisualBasicCoreTargetsPath>
1636
</PropertyGroup>
1737

1838
<UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.Csc" AssemblyFile="$(RoslynTasksAssembly)" />

0 commit comments

Comments
 (0)