繁体   English   中英

如何使用VS 15.7及更高版本调试没有WIP功能的nuget软件包

[英]How to debug a nuget package without WIP features using VS 15.7 and above

我读过这篇文章: 如何调试从TeamCity部署的nuget包? 但是由于某种原因,如果不要求我指定源文件的位置,则无法调试我的项目。 使用以下命令,我能够使用符号正确创建一个程序包(无需在.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回购

package.id/$version/的内容

Nuget回购

lib / net462的内容

Nuget回购

在我看来,该程序包处于应能正常工作的状态-不是吗?

尽管nupkg包含调试符号和源,它仍会在调试过程中提示我输入源文件,但它无法正常工作

即使调试符号+源包含在symbols nuget包中,但是在Visual Studio中调试此nuget包时,NuGet本身也无法解析symbols nuget包。 因此,Visual Studio在调试过程中仍找不到源文件。 这就是NuGet团队将Symbols包发布到SymbolSource服务器的原因

有关更多详细信息,请参见如何调试由我创建的nuget包中的代码

此外,由于目前没有简化NuGet包的调试和符号体验。 ,从Visual Studio成功调试nuget包不是一件容易的事。 不确定为什么不想指定源文件的位置,如果您对此感兴趣,可以使用轻量级解决方案来调试nuget包:

是否可以在网络共享的NuGet本地供稿中同时托管常规软件包和符号软件包?

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM