2015-08-10 4 views
3

Использование this answer Я установил PrettyBin в проект VS2013 C#. Это действительно простое решение для одного клика, если вы хотите скопировать все связанные DLL-файлы в подпапку lib в папке bin.Как заставить PrettyBin не копировать файлы PDB в папку lib, чтобы отображать номера строк исключений?

Недавно я заметил, что выброшенные Exceptions больше не отображают номера строк. Поиск в лотке Q & Как я думаю, это потому, что PrettyBin перемещает файл MyApp.pdb в подпапку \lib вместе со всеми DLL. И теперь я не знаю, как отменить это. Деинсталляция PrettyBin от NuGet не помогает. Кажется, что его изменения постоянны, и я не знаю, где искать, чтобы настроить это поведение. Список событий, созданных в Project Project, пуст.

Если у кого-то есть опыт работы с PrettyBin, как я могу настроить его для пропусков файлов pdb?

В противном случае, если я попытаюсь внести изменения в свойства проекта, чтобы я мог вернуть pdb в папку bin?

ответ

2

Я нашел решение. Мне пришлось вручную изменить файл MyApp.csproj с помощью Notepad ++. Часть в самом конце, где он говорит:

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

Я просто должен был удалить $(OutputPath)*.pdb ;PrettyBin И удалить из NuGet Package Manager, поэтому он не меняет его обратно. Теперь все DLL и XML-файлы идут в подкаталог \lib, но .pdb остается, и я снова получаю номер строки при ловле Исключения.

+0

На самом деле я не могу найти pdb для dll's. Ни в папке верхнего уровня, ни в подпапке '\ lib'. – mandarin