【问题标题】:How to debug a nuget package without WIP features using VS 15.7 and above如何使用 VS 15.7 及更高版本调试没有 WIP 功能的 nuget 包
【发布时间】:2019-01-11 12:41:13
【问题描述】:

我读过这个: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 feed 的内容

package.id/$version/的内容

lib/net462 的内容

在我看来,该软件包处于应该可以正常工作的状态 - 不是吗?

【问题讨论】:

    标签: nuget visual-studio-debugging nuget-cli


    【解决方案1】:

    它会在调试过程中提示我输入源文件,尽管 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?

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

    【讨论】:

    • 真可惜。这使得源代码调试仅对公共 nuget 包有用,无需额外的努力。猜猜我会使用您最后在答案中提供的链接。本地符号服务器似乎是唯一可行的解​​决方案。
    猜你喜欢
    • 2023-01-19
    • 1970-01-01
    • 2021-11-28
    • 1970-01-01
    • 2021-11-17
    • 2015-04-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多