Last active
October 29, 2021 04:57
-
-
Save shuebner/9e6ba1d4fa2f0f4918bbbaf839cbf305 to your computer and use it in GitHub Desktop.
WPF workaround for SourceLink and deterministic source paths
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
<Project> | |
<Target Name="WpfSourceLinkWorkaround" BeforeTargets="InitializeSourceRootMappedPaths" Condition="'$(UseWPF)' == 'true' And $(DeterministicSourcePaths)"> | |
<!-- WPF causes an error with SourceLink because its build targets create a temporary project without a PackageReference to SourceLink, see https://github.com/dotnet/sourcelink/issues/91, | |
causing the @SourceRoot property to be unexpectedly empty for the MapSourceRoot task | |
For context, see https://github.com/dotnet/roslyn/blob/main/src/Compilers/Core/MSBuildTask/Microsoft.Managed.Core.targets | |
and https://github.com/dotnet/roslyn/blob/main/src/Compilers/Core/MSBuildTask/MapSourceRoots.cs | |
This workaround sets the SourceRoot manually to some deterministic value to keep the promise given by having DeterministicSourcePaths set to true --> | |
<Message Text="using deterministic source path workaround for WPF project instead of SourceLink" /> | |
<ItemGroup> | |
<!-- There needs to be at least one SourceRoot defined, its value does not seem to matter as long as it ends with a directory separator --> | |
<SourceRoot Include="\" /> | |
</ItemGroup> | |
</Target> | |
</Project> |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment