|
2 | 2 | <Project> |
3 | 3 |
|
4 | 4 | <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 | + |
8 | 21 | <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. --> |
10 | 28 | <RoslynAssembliesPath Condition="'$(RoslynAssembliesPath)' == '' and '$(MSBuildRuntimeType)' == 'Core'">$(RoslynCoreAssembliesPath)</RoslynAssembliesPath> |
11 | 29 | <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> |
13 | 33 | <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> |
16 | 36 | </PropertyGroup> |
17 | 37 |
|
18 | 38 | <UsingTask TaskName="Microsoft.CodeAnalysis.BuildTasks.Csc" AssemblyFile="$(RoslynTasksAssembly)" /> |
|
0 commit comments