是否可以从使用dotnetbuild创建的.NET程序集中删除完整路径?
c#
f#
我使用 构建我的项目dotnet build,目标是netcoreapp3.1.
问题是程序集包含源文件的完整路径:
/home/runner/my-app/App.fs
这意味着程序集的散列取决于构建代码的目录。我希望它只依赖于源文件的哈希值和 .NET SDK 本身。
有没有办法dotnet build像这样使用相对路径?
./my-app/App.fs
回答
您可以使用较少的信息配置发布版本,也可以覆盖PathMap值以覆盖它。
<PropertyGroup Label="Override Stack trace file locations">
<PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
</PropertyGroup>
Directory.Build.props项目根目录中的以下内容应该有效:
<PropertyGroup Label="Override Stack trace file locations">
<PathMap>$([System.IO.Path]::GetFullPath('$(MSBuildThisFileDirectory)'))=./</PathMap>
</PropertyGroup>