代码之家  ›  专栏  ›  技术社区  ›  Daniel James Bryars

如何让visualstudio在调试时使用嵌入式源代码?

  •  11
  • Daniel James Bryars  · 技术社区  · 6 年前

    我已经使用 <EmbedAllSources> 元素,我已经使用 <DebugType>embedded<DebugType> 如中所述 Embedding C# sources in PDB with new csproj

    <PropertyGroup>
        <TargetFramework>netstandard2.0</TargetFramework>    
        <EmbedAllSources>true</EmbedAllSources>
        <DebugSymbols>true</DebugSymbols>
        <DebugType>embedded</DebugType>   
    </PropertyGroup>
    

    我可以确认pdb是类型可移植的,并且包含我的源代码:

    enter image description here

    https://docs.microsoft.com/en-us/visualstudio/releasenotes/vs2017-relnotes-v15.5#EmbeddedSource

    但是,当我将F11从程序集中导入代码时,它会要求提供源代码:

    enter image description here

    在谷歌搜索时,ctaggart在讨论中发表了一条评论 https://github.com/ctaggart/SourceLink/issues/192 这说明运行sourcelink print url会打印“嵌入”,但我的不会,也许这是一个提示:

    enter image description here

    0 回复  |  直到 6 年前
        1
  •  1
  •   sayah imad    4 年前

    最简单的方法是:

    Debug -> Windows -> Modules

    在这个列表中,您应该能够找到您的程序集(dll/exe)。

    Right click it -> Load Symbols

    它将询问从何处加载符号。

    导航到匹配的.pdb文件所在的目录。

    (%UserProfile%/nuget/packages/YourPackage/VersionNumber/../..)

    我们还用这些包打包源代码,并导航到这些包 /nuget/packages .cs 文件也一样,不过,有吗 corresponding .cs