Workarounds.targets 3.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859
  1. <!-- Use this file to workaround issues. List the issue tracking the item to fix so we can remove the workaround when the issue is resolved. -->
  2. <Project>
  3. <PropertyGroup>
  4. <DefaultNetCoreTargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('$(DefaultNetCoreTargetFramework)'))</DefaultNetCoreTargetFrameworkIdentifier>
  5. <DefaultNetCoreTargetFrameworkVersion>v$([MSBuild]::GetTargetFrameworkVersion('$(DefaultNetCoreTargetFramework)', 2))</DefaultNetCoreTargetFrameworkVersion>
  6. <ProjectTargetFrameworkIdentifier>$([MSBuild]::GetTargetFrameworkIdentifier('$(TargetFramework)'))</ProjectTargetFrameworkIdentifier>
  7. <ProjectTargetFrameworkVersion>v$([MSBuild]::GetTargetFrameworkVersion('$(TargetFramework)', 2))</ProjectTargetFrameworkVersion>
  8. </PropertyGroup>
  9. <!--
  10. Workaround https://github.com/dotnet/aspnetcore/issues/4257.
  11. The web sdk adds an implicit framework reference. This removes it until we can update our build to use framework references.
  12. -->
  13. <ItemGroup>
  14. <FrameworkReference Remove="Microsoft.AspNetCore.App" Condition="'$(DoNotApplyWorkaroundsToMicrosoftAspNetCoreApp)' != 'true'" />
  15. <!-- Required because the Razor SDK will generate attributes -->
  16. <Reference Include="Microsoft.AspNetCore.Mvc" Condition="'$(UsingMicrosoftNETSdkWeb)' == 'true' AND
  17. '$(TargetFrameworkIdentifier)' == '$(NETCoreAppFrameworkIdentifier)' AND
  18. '$(GenerateRazorAssemblyInfo)' == 'true'" />
  19. </ItemGroup>
  20. <!-- Workaround https://github.com/dotnet/source-build/issues/1112. Source link is currently disabled in source build so define this dummy target which is required for pack. -->
  21. <Import Condition="'$(DotNetBuildFromSource)' == 'true'" Project="WorkaroundsImported.targets" />
  22. <!-- Workaround for netstandard2.1 projects until we can get a preview 8 SDK containing https://github.com/dotnet/sdk/pull/3463 fix. -->
  23. <ItemGroup>
  24. <KnownFrameworkReference Update="NETStandard.Library">
  25. <RuntimeFrameworkName>NETStandard.Library</RuntimeFrameworkName>
  26. </KnownFrameworkReference>
  27. </ItemGroup>
  28. <!-- Work around https://github.com/dotnet/cli/issues/11378. -->
  29. <Target Name="_WorkaroundNetStandard" AfterTargets="ResolvePackageAssets">
  30. <ItemGroup>
  31. <TransitiveFrameworkReference Remove="NETStandard.Library" />
  32. </ItemGroup>
  33. </Target>
  34. <!-- Work around https://github.com/dotnet/aspnetcore/issues/18393 -->
  35. <Target Name="_UpdateRazorGenerateAssemblyReferences"
  36. AfterTargets="ResolveAssemblyReferenceRazorGenerateInputs"
  37. DependsOnTargets="FindReferenceAssembliesForReferences"
  38. Condition="'$(CompileUsingReferenceAssemblies)' != 'false'">
  39. <ItemGroup>
  40. <RazorReferencePath Remove="@(ReferencePath)" />
  41. <RazorReferencePath Include="@(ReferencePathWithRefAssemblies)" />
  42. </ItemGroup>
  43. </Target>
  44. <!-- Work around https://github.com/dotnet/aspnetcore/issues/34048 -->
  45. <Target Name="_RemoveDuplicateLoggingSourceGenerator" AfterTargets="ResolvePackageAssets" Condition="'$(TargetFramework)' == '$(DefaultNetCoreTargetFramework)' AND
  46. ('$(IsAspNetCoreApp)' == 'true' OR '$(UseAspNetCoreSharedRuntime)' == 'true')">
  47. <ItemGroup>
  48. <ResolvedAnalyzers Remove="@(ResolvedAnalyzers)" Condition="'%(ResolvedAnalyzers.NuGetPackageId)' == 'Microsoft.Extensions.Logging.Abstractions'" />
  49. <ResolvedAnalyzers Remove="@(ResolvedAnalyzers)" Condition="'%(ResolvedAnalyzers.NuGetPackageId)' == 'System.Text.Json'" />
  50. </ItemGroup>
  51. </Target>
  52. </Project>