I build my project with dotnet build
, targeting netcoreapp3.1
.
The problem is that the assemblies contain the full path to the source-files:
/home/runner/my-app/App.fs
This means that the hash of the assemblies depends on the directory where the code was built. I want it to only depend on the hash of the source-files and the .NET SDK itself.
Is there a way to make dotnet build
use relative paths like this?
./my-app/App.fs
You can configure a release build with less information or you can override PathMap value to override it.
<PropertyGroup Label="Override Stack trace file locations">
<PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
</PropertyGroup>
The following Directory.Build.props
in the root of the project should work:
<Project>
<PropertyGroup>
<Deterministic>true</Deterministic>
<DeterministicSourcePaths>true</DeterministicSourcePaths>
<PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
</PropertyGroup>
</Project>
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With