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

Suave NuGet package has assembly version 0.0.0.0 for netstandard - intended, or mistake? #635

Closed
rmunn opened this issue Aug 2, 2017 · 4 comments · Fixed by #640
Closed

Comments

@rmunn
Copy link
Contributor

rmunn commented Aug 2, 2017

Yesterday I reported fsprojects/Paket#2576, which @matthid tracked down in dotnet/fsharp#3408 to a version number mismatch in the Suave NuGet package. The net40 assembly has version number 2.1.1.0, but the netstandard assembly has version 0.0.0.0. This caused .NET Core to refuse to load it in my project, because another package (Suave.OAuth 0.9.0-pre2) wanted Suave version 2.0.0.0 or later, and version 0.0.0.0 is less than version 2.0.0.0.

I verified the version numbers by adding Suave to the paket.dependencies of a new project, then running monodis --assembly path/to/Suave.dll | grep Version to get the assembly version. Here are the results:

$ monodis --assembly packages/Suave/lib/netstandard1.6/Suave.dll | grep Version
Version:       0.0.0.0
$ monodis --assembly packages/Suave/lib/net40/Suave.dll | grep Version
Version:       2.1.1.0

Checking packages/Suave/Suave.nuspec confirmed that I had indeed grabbed version 2.1.1 of the Suave NuGet package.

Is it intended for the netstandard1.6 version of the DLL to have a version number of zero? Or is it an omission somewhere in the Suave build process?

@rmunn
Copy link
Contributor Author

rmunn commented Aug 2, 2017

This apparently changed at some point between February 19 and March 23. Version 2.0.4 of the NuGet package (released February 19, 2017) had an assembly version number of 2.0.4.0 in the netstandard1.6 version of the DLL. Version 2.0.5-alpha of the NuGet package (released March 23, 2017) had an assembly version number of 0.0.0.0 in the netstandard1.6 version of the DLL, and all subsequent packages have had the same thing.

So that gives us about a one-month date range to look at in tracking this down.

@rmunn
Copy link
Contributor Author

rmunn commented Aug 2, 2017

After a quick glance, I rather suspect that something in PR #590 — perhaps commit 1ff9065 — may be responsible for the 0.0.0.0 version number. That commit excluded the .netcore.fsproj file from the part of the code that wrote AssemblyVersion attributes (or is it elements?) to the .fsproj files, which might be why only the netstandard1.6 DLLs are being created with a 0.0.0.0 version number.

@haf
Copy link
Contributor

haf commented Aug 7, 2017

Good catch. It's of course not intended. A fix/PR would be appreciated. /cc @enricosada

@rmunn
Copy link
Contributor Author

rmunn commented Aug 16, 2017

I believe PR #640 fixes this; at least, it Works For Me™.

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

Successfully merging a pull request may close this issue.

2 participants