我已经读过: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"
本地存储库中的结构:
在我看来,该软件包处于应能正常工作的状态-不是吗?
答案 0 :(得分:0)
尽管nupkg包含调试符号+源,它仍会在调试过程中提示我输入源文件
即使符号nuget包中包含调试符号+源,但是在Visual Studio中调试此nuget包时,NuGet本身也无法解析符号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包不是很容易。不确定为什么不想指定源文件的位置,如果您对此感兴趣,可以使用 lightweight solution 调试nuget包:
Is it possible to host both regular and symbols packages in a NuGet local feed on a network share?
我一直在使用此方法,没有任何其他问题,希望对您有所帮助。