Skip to content

Instantly share code, notes, and snippets.

@ufcpp
Created April 3, 2018 03:44
Show Gist options
  • Star 5 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save ufcpp/f3cc89e8c266997063eb2c633114668a to your computer and use it in GitHub Desktop.
Save ufcpp/f3cc89e8c266997063eb2c633114668a to your computer and use it in GitHub Desktop.
PDB 中に含まれるソースコードのパスを相対パスに変えるための csproj 設定(Rosnly リポジトリ内を漁ってたらこういう書き方だった)
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<OutputType>Exe</OutputType>
<TargetFrameworks>netcoreapp2.0</TargetFrameworks>
<LangVersion>latest</LangVersion>
<!-- このオプションの指定で、タイムスタンプとかを決定論的なハッシュ値に置き換える -->
<Deterministic>true</Deterministic>
<!-- 「相対パス化」って機能は実はなくて、「このプロジェクトのパスを、この指定したパスに置き換える」みたいな処理を書くらしい -->
<DeterministicSourceRoot>/_/</DeterministicSourceRoot>
<RepoRoot>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)..\..\'))</RepoRoot>
<!-- これが、「あるパスを別のあるパスに置き換える」をやるための設定 -->
<PathMap>$(RepoRoot)=$(DeterministicSourceRoot)</PathMap>
<!-- おまけ。PDB 中にソースコード埋め込み -->
<EnableSourceLink>true</EnableSourceLink>
</PropertyGroup>
</Project>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment