-
Notifications
You must be signed in to change notification settings - Fork 176
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
EmbedIO 3.5.0 NuGet package references wrong/old version of Unosquare.Swan.Lite #569
Comments
Same issue !!, not able to update. Also, why there is no 3.5 in github while the nuget has the version ? |
@rdeago @geoperez What I don't grasp at the moment is that Swan.Lite 3.1.0 is referenced but it still looks for >= 3.0.0. Could the package be released again? As far as I understand it should be based on the branch v3.X. Furthermore I have 2 questions:
Thank you in advance! |
I only realized now that the project uses Directory.Packages.props. |
Perhaps this might be an appropriate time to review your build and verification process before packages are released. Also it might be noted that it’s been almost two months since the release was made and this issue raised. |
For sure. I just wish I knew exactly what.
Version 3.5.0 is a backport to branch V3.X of fixes that were already in master. See #565 for details. |
Unfortunately my hands are tied when it comes to the release process. @geoperez seems to be our only hope. |
Seemingly branch 4.0.0 was released. In that branch the older Swan.Lite version was referenced:
So this explains the issue from this ticket. But what I cannot find is "4.0.0-rc1". So the "rc1" part. Could it be the case that at some point this year there was a other branch than v4-old for version 4? Maybe that was used for this release but now it got deleted. In any case. I believe it all would be fixed if a new version got released based on branch v3.X. |
@db2222 I'm sorry that the somewhat messed-up status of this repository (for which I take full blame) got you confused.
The released DLL is definitely version 3.5.0, as committed on the
There is no 4.0.0-rc1 except in my dreams, in which I have the time to finish it.
I'm sure not. The version 4 work-in-progress has always been in
I agree with you here. We need a 3.5.1 package released, with no code changes except for the version bump, and the 3.5.0 package deprecated. Unfortunately, the most I am allowed to do is open a PR that updates the version number. The rest is up to @geoperez. To recap:
Again, I'm sorry for the status of the branches. Version 3 should probably be in |
The new package https://www.nuget.org/packages/EmbedIO/3.5.1 And version 3.5.0 has been deprecated. |
@rdeago I don't want to put blame on anybody. Mistakes happen. I don't think it could have been branch Furthermore just to prove that it's not branch But it's not included in the decompiled code (check via dotPeek for instance). The NuGet package got released in August. So the above commit must have been contained in it if it was based on branch As I'm writing this I saw that a fix was uploaded. So it should hopefully be fixed and all good now 😀 |
The issue definitely has to do with I haven't got any experience with doing it that way instead of defining the NuGet package references inside of the project file. But according to the blog post from Microsoft (see https://devblogs.microsoft.com/nuget/introducing-central-package-management/) the flag Currently it is set in |
I've been out all day, so I didn't even know there was a new package version. I downloaded the new package from nuget.org and yeah, the issue is the same: Swan.Lite.dll v3.1.0 correctly referenced as assembly by the DLL, but v3.0.0 incorrectly referenced as package in the .nuspec file.
It definitely does not. Even if @geoperez was using an old version of the .NET SDK to pack, one that wouldn't recognize the Unless, of course, a recent .NET SDK is used to build and then an old version of nuget.exe is used to pack. Then I'm not sure what the behavior would be. Anyway, a missing package reference version should be interpreted as This is all mere speculation, of course, as I don't know how EmbedIO packages are built. Between
Uhm, no. The flag's purpose is to tell MSBuild (and NuGet) that
Exactly, so all projects in the repo have the flag set. Otherwise, managing package versions centrally would make little sense. |
I'm using |
I published 3.5.2 using Swan Lite 3.1.0: https://www.nuget.org/packages/EmbedIO/3.5.2 |
@geoperez yes, 3.1.0 is the right version of Swan.Lite to use. The new package (3.5.2) seems to have the correct reference btw.
I just don't understand where the wrong nuspec came from. It should have been automatically generated by nuspec.exe at pack time from the csproj, so why did it have a different version of Swan.Lite? Or is there some nuspec file "injected" at some point in the release process? If so, it should be in the repository, so it can be kept in sync with dependency versions. Anyway, now we have a working NuGet package. Thanks a lot @geoperez! As soon as someone else confirms that the new package is fine, I believe this issue can be closed. |
@geoperez please deprecate 3.5.1 on NuGet (and change the suggested alternative for 3.5.0 if possible). |
@db2222 please accept my apologies. Twice. Once because I hadn't actually looked into the 3.5.0 package. I've done it just now and yes, you were right, the DLL version is 4.0.0, I have no clue as to why. Maybe it was built from the Another due apology because you correctly reported what Jeff Kluge says in Introducing Central Package Management: he suggests to put the BTW if you think about it, how can the SDK even know to import The answer is that, due to the somewhat convoluted way MSBuild evaluates projects and their imports, it has to import If you want to see the actual MSBuild code that imports This means, of course, that you can put The first article about this feature I ever read, back in mid-2020, was this one by Stuart Lang. Stuart suggests to put TL;DR @db2222 you were right, but what you were reporting is not the only way to manage package versions centrally (IMHO not the best, either). Anyway, kudos to you for the effort you put on this issue! 👏 👍 I hope you will keep using EmbedIO and lend us a hand in answering issues when you can. (And please excuse this old grumpy developer who sometimes sacrifices good manners on the altar of conciseness.) Footnotes
|
Sorry, for the delayed response. I was busy with work. I can confirm it's fixed. The issue can be closed. The only remaining thing that would be nice is if the latest version is added to https://github.com/unosquare/embedio/releases. The other 2 flaky versions can be swept under the rug (nothing to see here, move along) 😉 @rdeago Thank you for your detailed responses! |
@db2222 you're welcome. I just discovered I have the permissions to create a release on this repo, so here it is: https://github.com/unosquare/embedio/releases/tag/v3.5.2 |
The EmbedIO 3.5.0 package references Unosquare.Swan.Lite version 3.0.0 but the code requires 3.1.0
Errors similar to the following are reported at build time.
Installing Unosquare.Swan.Lite 3.1.0 resolves the build issue. But this shouldn't be required.
The text was updated successfully, but these errors were encountered: