当我在Visual Studio中将C#项目构建为发行版时,生成的.exe包含以下字符串:
C:\Users\jornane\source\repos\«solution»\«project»\obj\Release\«name».pdb
.exe文件泄露了我的用户名和我存储项目的路径。有什么方法可以防止这种情况发生吗?我理解为什么该路径将用于调试版本,而不是发布版本。
当我在Visual Studio中将C#项目构建为发行版时,生成的.exe包含以下字符串:
C:\Users\jornane\source\repos\«solution»\«project»\obj\Release\«name».pdb
.exe文件泄露了我的用户名和我存储项目的路径。有什么方法可以防止这种情况发生吗?我理解为什么该路径将用于调试版本,而不是发布版本。
1条答案
按热度按时间xtfmy6hx1#
可以使用
-pathmap
编译器选项来替换存储的PDB路径,例如,以下代码使用存储为.\«name».pdb
的PDB路径生成«name».exe
,而不是使用完整路径。-pathmap
选项未在IDE中显示,但可以直接设置到.csproj
文件中,方法是在文件末尾附近添加以下内容。将
<PathMap>
替换为<PathMap Condition="'$(Configuration)'=='Release'">
,以获得仅应用于发布版本的选项。"."
,因为csc
不允许它为空(error CS8101: The pathmap option was incorrectly formatted
)。任何其他非空的用户定义字符串也可以代替.
。