TeamCity 9.1.x Symbol Server and Nuget Packages

I have a build configuration that's building and publishing an internal Nuget Package just fine with a Nuget Pack build step (I can see the internal packages in Visual Studio when I point Nuget to the TeamCity URL). Now I want to be able to Debug into the sources for that Nuget package.

I've checked the "Include Sources and Symbols" option in the build configuration's Nuget Pack build step.

I've added the Symbol Server plugin to the TC server and I see it show up in Administration.

I've installed the Debugger Tools for Windows on the build agent.

I've added the Symbol Indexing feature to the build configuration.

I've re-run the build configuration.

I get this:

[14:57:55]Collecting changes in 1 VCS root
[14:57:55]Source Server tools home directory located. C:\Program Files (x86)\Windows Kits\8.1\Debuggers\x64\srcsrv
[14:57:55]Using Sources Server URL https://blah.blah.local/app/sources/
[14:57:55]Clearing temporary directory: C:\BuildAgent\temp\buildTmp
[14:57:55]Publishing internal artifacts
[14:57:55]Using vcs information from agent file: 37acd90bf685c553.xml
[14:57:55]Clean build enabled: removing old files from C:\BuildAgent\work\37acd90bf685c553
[14:57:56]Checkout directory: C:\BuildAgent\work\37acd90bf685c553
[14:57:56]Updating sources: agent side checkout (2s)
[14:57:58]Swabra
[14:57:58]Parameter "env.PATH" is undefined.
[14:57:58]Parameter "env.PSMODULEPATH" is undefined.
[14:57:58]Step 1/5: MSBuild
[14:57:58]Step 2/5: NuGet Installer (1s)
[14:57:59]Step 3/5: MSBuild (2s)
[14:58:01]Step 4/5: Nuget pack (NuGet Pack) (1s)
[14:58:01][Step 4/5] pack: Create NuGet package from blah\blah.csproj
[14:58:02][Step 4/5] Uploading created packages to build artifacts: blah.0.1.0.0.nupkg, blah.0.1.0.0.symbols.nupkg
[14:58:02][Step 4/5] Publishing artifacts
[14:58:02]Step 5/5: Publish (NuGet Publish)
[14:58:02][Step 5/5] Disabled build step Publish (NuGet Publish) is skipped
[14:58:02]Publishing artifacts
[14:58:02][Publishing artifacts] Collecting files to publish: [C:\BuildAgent\temp\buildTmp\nuget1838689271808849827packages\nuget.xml => .teamcity/nuget]
[14:58:02][Publishing artifacts] Publishing 1 file [C:/BuildAgent/temp/buildTmp/nuget1838689271808849827packages/nuget.xml => .teamcity/nuget] using [ArtifactsCachePublisher]
[14:58:02][Publishing artifacts] Publishing 1 file [C:/BuildAgent/temp/buildTmp/nuget1838689271808849827packages/nuget.xml => .teamcity/nuget] using [WebPublisher]
[14:58:02]Publishing internal artifacts
[14:58:02][Publishing internal artifacts] Publishing 1 file using [ArtifactsCachePublisher]
[14:58:02][Publishing internal artifacts] Publishing 1 file using [WebPublisher]
[14:58:02]Symbols weren't found in artifacts to be published.
[14:58:02]Build finished
 
I see in the artifacts of the build both the .nupkg and the .symbols.nupkg files. Why were "Symbols not found in the artifacts of the build"?
2 comments

If I explicitly add my assembly's .pdb file as an artifact, the build seems to do the right thing and publish symbols (and I can see them with symchk.exe), but when I reference the Nuget package from a project and attempt to step into a method, Visual Studio wants to load the source file from the Build Agent's work folder (C:\BuildAgent\work\...). So it looks like indexing didn't work?

0

Hello Wayne,

Currently indexing of pdb's published as a part of NuGet package is not supported. We have a feature request: https://youtrack.jetbrains.com/issue/TW-32067, please vote for it.
At current workaround you can configure the second build configuration, that downloads indexed pdb's and publishes them as NuGet package.
Sorry for the inconvenience.

0

Please sign in to leave a comment.