Файлы PDB отсутствуют в appxbundle

Я пытаюсь включить файлы PDB, чтобы Магазин предоставил мне трассировки стека с номерами строк вместе с отчетами о сбоях.

Я обязательно выбрал в Build> Advanced> Debugging Information: pdb-only

После сборки в / bin / есть файлы .pdb.

Затем при создании пакетов приложений выбирается «Включить полные файлы символов PDB»:

Символы PDB проверены

и в .csproj у меня уже есть

<PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|AnyCPU' ">
<PlatformTarget>AnyCPU</PlatformTarget>
<DebugType>pdbonly</DebugType>
<DebugSymbols>True</DebugSymbols>
<Optimize>false</Optimize>

Как только упаковка будет готова, если я открою

AppPackages \ PROG_Test \ PROGUWP2_2.5.4.0_AnyCPU.appxbundle \ PROGUWP2_2.5.4.0_AnyCPU.appx \

Я могу видеть все файлы, кроме любого из .pdb.

РЕДАКТИРОВАТЬ: я пропустил еще один архив в нем с PROG2_2.5.4.0_AnyCPU.appxsym, который содержит только файлы PDB. Я не уверен, почему Store не показывает номера строк при сбое


person Daniel    schedule 06.05.2019    source источник
comment
pdb-only удаляет информацию об источнике и номере строки из файла PDB. Поменять на полную.   -  person Hans Passant    schedule 13.05.2019


Ответы (2)


MSBuild по умолчанию удаляет все файлы pdb во время создания файла appx.

В папке Microsoft Visual Studio \% Version% \ Community \ MSBuild \ Microsoft \ VisualStudio \% Version% \ AppxPackage откройте Microsoft.AppxPackage.Targets и измените значение AppxPackageIncludePrivateSymbols на true.

<AppxPackageIncludePrivateSymbols Condition="'$(AppxPackageIncludePrivateSymbols)' == ''">true</AppxPackageIncludePrivateSymbols>

Файлы pdb теперь появятся в appx (и, конечно, appxbundle).

Изменить: Microsoft определенно не хочет, чтобы у нас был pdb в appx, файлы удаляются для клиентов после отправки в Магазин!

person Javert    schedule 02.10.2020
comment
Я нашел этот файл в C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\MSBuild\Microsoft\VisualStudio\v16.0\AppxPackage, и мне также нужно было отредактировать файл от имени администратора. - person user1; 01.04.2021

Файл .pdb можно найти здесь: "\ bin [Platform] \ Release \ ilc \"

person Mark W    schedule 13.05.2019
comment
PDB уже находится в \ bin \, но их нет в этой папке после того, как он упакован как ppxupload или .appxbundle. \ Ilc \ там не существует - person Daniel; 15.05.2019
comment
Я беру pdb из папки выше для загрузки в HockeyApp, чтобы обозначить исключения. MS описывает создание вашего собственного appxupload, чтобы убедиться, что они здесь docs.microsoft.com/en-us/windows/uwp/packaging/. Он находится в разделе "Создание файла загрузки пакета приложения вручную". - person Mark W; 15.05.2019