如何使PrettyBin不复制PDB文件到lib文件夹,以显示异常行号

本文关键字:文件夹 显示 异常 lib PrettyBin 何使 复制 文件 PDB | 更新日期: 2023-09-27 18:07:04

使用这个答案,我将PrettyBin安装到我的VS2013 c#项目中。这真的是一个简单的一键解决方案,如果你想复制所有引用dll到bin文件夹的lib子文件夹。

最近我注意到抛出的Exceptions不再显示行号。在这里,我认为这是因为PrettyBinMyApp.pdb文件与所有dll一起移动到'lib子文件夹。现在我不知道该怎么挽回。从NuGet中卸载PrettyBin没有帮助。似乎它的变化是永久性的,我不知道在哪里去配置这种行为。我的项目的构建后事件列表为空。

如果有人有PrettyBin的经验,我如何配置它跳过pdb文件?

否则,我应该在项目属性中进行更改,以便我可以将pdb返回到bin文件夹中吗?

如何使PrettyBin不复制PDB文件到lib文件夹,以显示异常行号

我找到了解决方案。我必须用notepad++手动更改MyApp.csproj文件。在最后的部分,它说:

<Target Name="AfterBuild">
  <ItemGroup>
    <MoveToLibFolder Include="$(OutputPath)*.dll ; $(OutputPath)*.pdb ; $(OutputPath)*.xml" />
  </ItemGroup>
  <Move SourceFiles="@(MoveToLibFolder)" DestinationFolder="$(OutputPath)lib" OverwriteReadOnlyFiles="true" />
</Target>

我只需要从NuGet包管理器中删除$(OutputPath)*.pdb ;PrettyBin,所以它不会再改变它。现在所有的dll和xml都转到'lib子文件夹,但是.pdb保持不变,当捕获异常时,我再次获得行号。