代码之家  ›  专栏  ›  技术社区  ›  Dbl

如何使用VS15.7及更高版本调试没有WIP功能的nuget包

  •  0
  • Dbl  · 技术社区  · 6 年前

    我读过: How to debug into my nuget package deployed from TeamCity? 但由于某些原因,如果不要求我指定源文件的位置,则无法调试我的项目。使用以下命令,我能够正确地创建一个带有符号的包(不必在.csproj中添加任何一个)

    有问题的包位于本地nuget提要上。

    在调试期间,它会提示我输入源文件,尽管nupkg包含调试符号+源,但它不起作用

    用于生成包的命令:

    dotnet clean "../$path"
    dotnet pack "../$path" -o "$outputRoot" -v $verbosity -c $configuration -symbols --include-symbols --include-source /p:PackageVersion=$version  
    Invoke-Expression "& $nugetPath push $outputRoot\$path.$version.symbols.nupkg -source $localFeed" 
    

    本地回购结构:

    本地nuget提要的内容

    Nuget Repo

    package.id/$version的内容/

    Nuget Repo

    lib/net462目录

    Nuget Repo

    在我看来,这个软件包的状态应该是正常的,不是吗?

    1 回复  |  直到 6 年前
        1
  •  0
  •   Leo Liu    6 年前

    在调试期间,它会提示我输入源文件,尽管nupkg包含调试符号+源,但它不起作用

    即使调试符号+源包含在symbols nuget包中,但在Visual Studio中调试此nuget包时,nuget本身无法解析symbols nuget包。所以Visual Studio在调试期间仍然找不到源文件。这就是为什么NuGet团队 publish the symbols package to the SymbolSource server .

    How to debug code in a nuget package created by me 更多细节。

    另外,自从 Currently the NuGet package debugging and symbols experience is not streamlined. ,从Visual Studio成功调试nuget包并不容易。不确定为什么不想指定源文件的位置,如果您感兴趣,可以使用 轻量级解决方案 要调试nuget包,请执行以下操作:

    Is it possible to host both regular and symbols packages in a NuGet local feed on a network share?

    我一直在使用这种方法,没有任何其他问题,希望这对你有帮助。

    推荐文章