gpt4 book ai didi

visual-studio - 防止 Visual Studio 在已编译的 exe 中泄漏 pdb 路径

转载 作者:行者123 更新时间:2023-12-04 17:25:33 24 4
gpt4 key购买 nike

当我在 Visual Studio 中构建我的 C# 项目作为发布时,生成的 .exe 包含以下字符串:

C:\Users\jornane\source\repos\«solution»\«project»\obj\Release\«name».pdb

.exe 文件泄露了我的用户名和我存储项目的路径。有什么办法可以防止这种情况发生吗?我理解为什么该路径适用于调试构建,但不适用于发布。

最佳答案

可以使用 -pathmap 替换存储的 PDB 路径编译器选项,例如以下生成 «name».exe PDB 路径存储为 .\«name».pdb ,而不是使用完整路径。

C:\Users\«user»\source\repos\«solution»\«project»>csc -debug -pathmap:"%cd%=." «name».cs

-pathmap选项未在 IDE 中公开,但可以设置到 .csproj 中通过在文件末尾附近添加以下内容来直接文件。

<Project>
<!-- ... -->
<Import Project="$(MSBuildToolsPath)\Microsoft.CSharp.targets" />
<PropertyGroup>
<!-- after 'Microsoft.CSharp.targets' for 'IntermediateOutputPath' to be defined -->
<PathMap>$(MSBuildProjectDirectory)\$(IntermediateOutputPath)=.</PathMap>
</PropertyGroup>
</Project>

替换<PathMap><PathMap Condition="'$(Configuration)'=='Release'">仅适用于发布版本的选项。

注意:替换路径设置为"."在上面的示例中,因为 csc不允许它为空 ( error CS8101: The pathmap option was incorrectly formatted )。任何其他非空的用户定义字符串都可以代替 .

关于visual-studio - 防止 Visual Studio 在已编译的 exe 中泄漏 pdb 路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63756267/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com