Чтобы сгенерировать отчет об открытой обложке, мне нужно сделать debugType как Full. Я создаю отчет на сервере сборки, так как я должен завершить сборку, если покрытие не достигает определенного порога. Сборка создается в режиме выпуска. Какие последствия имеет сохранение значения debugType Full в моем файле csproj? Будет ли это ухудшать производительность в производстве?
В чем разница между использованием ‹DebugType› Full ‹/DebugType› и ‹DebugType› Portable ‹/DebugType› для основных проектов .net?
Ответы (2)
Разница в том, что «полный» тип генерирует классический файл символов Windows PDB, который сложен и плохо документирован. «Портативный» формат PDB - это новый формат с открытым исходным кодом, который можно создавать и использовать на всех платформах. Дополнительную информацию об этом формате можно найти в документации по dotnet основное репо.
Это не имеет ничего общего с тем, можно ли отладить приложение, а скорее с инструментами, которые поддерживают новый или классический формат. Таким образом, нет никаких последствий во время выполнения (за исключением печати трассировки стека в .NET Framework ‹4.7.1, когда вы отправляете переносимые файлы pdb вместе с приложением и хотите увидеть отображение номеров строк).
Поэтому, пока инструменты не будут обновлены для работы с новым форматом, вам нужно будет изменить свойство DebugType
на Full
, если вам нужно использовать инструменты, которые еще не поддерживают новый формат, который теперь используется по умолчанию для проектов на основе SDK.
Чтобы сделать это только для отладочных сборок, вам нужно, чтобы ваш csproj содержал такой раздел, как
<PropertyGroup Condition=" '$(Configuration)' == 'Debug' ">
<DebugType>Full</DebugType>
</PropertyGroup>
С Visual Studio 2013 (Roslyn) нет разницы между full и pdb-only. Мы должны обновить документы. @VSadov
https://github.com/dotnet/runtime/issues/25550#issuecomment-374996117
pdbonly
, а в/debug:portable
эквивалентном аргументе (похоже, официальные документы не были обновлены, чтобы включить его) - person Martin Ullrich   schedule 24.10.2017