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

如何使用VS15.7及更高版本调试没有WIP功能的nuget包,nuget,visual-studio-debugging,nuget-cli,Nuget,Visual Studio Debugging,Nuget Cli,我读过这篇文章:但是由于某种原因,我的项目无法调试,而不要求我指定源文件的位置。使用以下命令,我能够正确地创建一个带有符号的包(无需在.csproj中添加任何包) 有问题的包位于本地nuget提要上 它将在调试期间提示我输入源文件,尽管nupkg包含调试符号+源,但它不工作 用于生成包的命令: 本地回购的结构: 本地nuget提要的内容 package.id/$version的内容/ lib/net462目录 对我来说,它看起来像是在一个状态,这应该是工作-不是吗 它将在调试期间提示我输入

我读过这篇文章:但是由于某种原因,我的项目无法调试,而不要求我指定源文件的位置。使用以下命令,我能够正确地创建一个带有符号的包(无需在.csproj中添加任何包)

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

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

用于生成包的命令: 本地回购的结构:

本地nuget提要的内容

package.id/$version的内容/

lib/net462目录

对我来说,它看起来像是在一个状态,这应该是工作-不是吗

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

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

有关更多详细信息,请参阅

此外,因为要成功地从VisualStudio调试nuget包并不容易。不确定您为什么不想指定源文件的位置,如果您感兴趣,可以使用轻量级解决方案来调试nuget软件包:


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

太遗憾了。这使得源代码调试只对公共nuget包有用,而无需额外的工作。我想我会使用你最后在答案中提供的链接。本地符号服务器似乎是实现此功能的唯一解决方案。
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"