2

我正在尝试包含 PDB 文件,因此 Store 将为我提供带有行号的堆栈跟踪以及崩溃报告。

我确保在 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 文件。我不确定为什么商店在崩溃时没有给出行号

4

2 回答 2

2

默认情况下,MSBuild 会在 appx 生成期间删除所有 pdb 文件。

在“Microsoft Visual Studio\%Version%\Community\MSBuild\Microsoft\VisualStudio\%Version%\AppxPackage”文件夹中,打开“Microsoft.AppxPackage.Targets”并将“AppxPackageIncludePrivateSymbols”值更改为“true”。

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

pdb 文件现在将出现在 appx(当然还有 appxbundle)中。

编辑:微软绝对不希望我们在 appx 中有 pdb,在商店提交后,这些文件会为客户删除!

于 2020-10-02T12:26:40.043 回答
-1

.pdb 文件可在此处找到:“\bin[Platform]\Release\ilc\”

于 2019-05-13T13:53:20.317 回答