Please sign in to comment.
Fix our MSB3270 warnings
There are a few parts to this change: 1. Ensure that MSB3270 and MSB3277 warnings are promoted to errors in CI and hence block merging. 1. Move our DiaSymReader.Native logic into a separate targets file. This resource cannot be consumed with a simple package reference but rather requires a package reference and custom logic to pull out the contained binaries. This logic used to be spread through our build. Now it's in a single place. 1. Remove the x86 bootstrapping logic. This was testing a pretty obscure scenario and the cost of maintaining that logic is siginificant at this point. Can bring back if we ever find a bug in this area. The root cause of the MSB3270 warnings is a subtle change in the SDK. It now passes the runtime graph to NuGet for native assets. In the case of DiaSymReader.Native there are runtime specific assets hence the SDK / NuGet had to pick one for framework projects. This eventually lead to `PlatformTarget` being set to x86 where it shoud have been AnyCPU. Part of the change includes adding `ExcludeAssets=all` to the package reference which means they no longer figure into this logic and hence the binaries are marked as AnyCPU. This regression in behavior is being tracked by dotnet/sdk#3495
- Loading branch information...
Showing with 39 additions and 30 deletions.
- +1 −1 azure-pipelines.yml
- +1 −1 eng/build-utils.ps1
- +9 −4 eng/build.ps1
- +21 −0 eng/targets/DiaSymReaderNative.targets
- +0 −6 eng/targets/Imports.targets
- +1 −1 src/Compilers/CSharp/csc/csc.csproj
- +0 −14 src/Compilers/Core/Portable/Microsoft.CodeAnalysis.csproj
- +1 −1 src/Compilers/Server/VBCSCompiler/VBCSCompiler.csproj
- +1 −1 src/Compilers/VisualBasic/vbc/vbc.csproj
- +1 −0 src/Interactive/csi/csi.csproj
- +2 −0 src/NuGet/Microsoft.Net.Compilers.Toolset/DesktopCompilerArtifacts.targets
- +1 −1 src/Test/PdbUtilities/Roslyn.Test.PdbUtilities.csproj
|@@ -0,0 +1,21 @@|
|<PlatformTarget Condition="'$(PlatformTarget)' == ''">AnyCPU</PlatformTarget>|
|<ItemGroup Condition="'$(DotNetBuildFromSource)' != 'true'">|
|<PackageReference Include="Microsoft.DiaSymReader.Native" Version="$(MicrosoftDiaSymReaderNativeVersion)" ExcludeAssets="all"/>|