Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

NH-4067 - NuGet package doesn't include pdb file #1056

Closed
nhibernate-bot opened this issue Oct 12, 2017 · 10 comments
Closed

NH-4067 - NuGet package doesn't include pdb file #1056

nhibernate-bot opened this issue Oct 12, 2017 · 10 comments

Comments

@nhibernate-bot
Copy link
Collaborator

Yufan Lou created an issue — 7th August 2017, 10:15:10:

The NuGet package for 4.1.1 doesn't include a pdb file in the package. A pdb file is useful in debugging.

The binary package from Sourceforge is not affected.

@fredericDelaporte
Copy link
Member

fredericDelaporte commented Jan 13, 2019

At the time of this request, wasn't the way to go to publish a symbol package, as we currently do?
So shouldn't this be closed?

@cremor
Copy link
Contributor

cremor commented Jan 13, 2019

I didn't know that NHibernate publishes a symbol package. Is this documented somewhere?

@fredericDelaporte
Copy link
Member

Are you asking about any Microsoft documentation? How to consume it in VS?

Otherwise, no, NHIbernate documentation does not cover that point. It seemed to be a rather standard practice to publish symbols, so it was not looking useful to mention it somewhere.

@cremor
Copy link
Contributor

cremor commented Jan 13, 2019

There are two things that I didn't know:

  1. That https://nuget.smbsrc.net exists as a symbol source.
  2. That NHibernate pushes a symbol package to it.

This describes the current situation perfectly: Package Consuming Experience

I think the NHibernate readme should just mention that it publishes symbol packages to https://nuget.smbsrc.net. And maybe that those symbols even contain the full source code. Everything else can be found in other documentation.

Of course, if #1971 changes something about the current situation, this might no longer be needed.

@fredericDelaporte
Copy link
Member

From here:

Ordinarily, you'd publish symbol files in a symbol package. Currently the main public host for symbol packages doesn't support the portable symbol files (*.pdb) created by SDK-style projects, and symbol packages aren't useful.

Hum, I believe that the VS2017 .csproj format to which we have migrated for v5.0 is a "SDK-style project". So this would mean that NHibernate symbols packages are no more consumable since v5.0...

@cremor
Copy link
Contributor

cremor commented Jan 13, 2019

I think this note only meant http://www.symbolsource.org/ as can be seen in this change for the page NuGet in the same library guidance.

I've already created issue dotnet/docs#9966 to notify them they should update it.
edit: The page has been updated.

But that NHibernate 5.0 changed to the portable pdb format is true. What that means is documented here.

@cremor
Copy link
Contributor

cremor commented Jan 14, 2019

Hum, I believe that the VS2017 .csproj format to which we have migrated for v5.0 is a "SDK-style project". So this would mean that NHibernate symbols packages are no more consumable since v5.0...

Maybe this is true after all. Either that or no one pushed symbol packages since 5.0.

I say that because I just tried to use it. VS 2017 15.9.5 couldn't find a symbol package, here is the output (for 5.2.2):

SYMSRV:  BYINDEX: 0x1
         C:\Users\User\AppData\Local\Temp\SymbolCache*https://nuget.smbsrc.net
         NHibernate.pdb
         0B87C74661BE4FD7921CFD99F3FC8D88ffffffff
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D88ffffffff\NHibernate.pdb - path not found
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D88ffffffff\NHibernate.pd_ - path not found
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D88ffffffff\file.ptr - path not found
SYMSRV:  HTTPGET: /index2.txt
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D88ffffffff/NHibernate.pdb
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D88ffffffff/NHibernate.pd_
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D88ffffffff/file.ptr
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
SYMSRV:  BYINDEX: 0x2
         C:\Users\User\AppData\Local\Temp\SymbolCache*https://nuget.smbsrc.net
         NHibernate.pdb
         0B87C74661BE4FD7921CFD99F3FC8D881
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D881\NHibernate.pdb - path not found
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D881\NHibernate.pd_ - path not found
SYMSRV:  UNC: C:\Users\User\AppData\Local\Temp\SymbolCache\NHibernate.pdb\0B87C74661BE4FD7921CFD99F3FC8D881\file.ptr - path not found
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D881/NHibernate.pdb
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D881/NHibernate.pd_
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  HTTPGET: /NHibernate.pdb/0B87C74661BE4FD7921CFD99F3FC8D881/file.ptr
SYMSRV:  HttpQueryInfo: 80190194 - HTTP_STATUS_NOT_FOUND
SYMSRV:  RESULT: 0x80190194
https://nuget.smbsrc.net: Symbols not found on symbol server.

Then I used the nuget.exe to list the latest version of the symbol package (I got that command from here):

> nuget list NHibernate -source https://nuget.smbsrc.net
NHibernate 4.1.2.4000-at-1QQBF8
[some other NHibernate packages like NHibernate.Caches follow]

@fredericDelaporte
Copy link
Member

These symbol packages are still pushed in the release process. And their push succeed. So it looks like pushing them is no-op since v5.0, where they have been switched to portable, due to the csproj format change done for v5.0.

In such case, I think we should migrate directly to snupkg format.

@cremor
Copy link
Contributor

cremor commented Feb 27, 2019

Since #2019 was merged, I assume you want to go forward with snupkg instead of PDBs in the main package? If that's the case, this issue can be closed.

@fredericDelaporte
Copy link
Member

Yes, we will go on publishing symbols in separated packages.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

4 participants