oqtane / oqtane.framework

CMS & Application Framework for Blazor & .NET MAUI
http://www.oqtane.org
MIT License
1.89k stars 547 forks source link

[BUG] Nuget Package Shared v6 is actually v 5.2.4 - it doesn't contain CookieRequestCultureProvider #4851

Closed iJungleboy closed 2 days ago

iJungleboy commented 2 days ago

Oqtane Info

Version - 6.0.0 Render Mode - Static Interactivity - Server Database - SQL Server

Describe the bug

I'm upgrading code which used the old CookieRequestCultureProvider from the deprecated Microsoft package.

When trying to find alternatives, I found it in the Oqtane.Shared code. https://github.com/oqtane/oqtane.framework/blob/7eb12988479505c9e5af6a9dc2b450d48d9c6555/Oqtane.Shared/Shared/CookieRequestCultureProvider.cs#L6

But here's the strange thing: My module references the Oqtane.Shared from NuGet, and there it can't find this class (despite it having been coded on October 24th - so it should really be in the release. And it's normal public, so I don't see how it should be restricted.

I was forced to change my reference to the NuGet to make it a Project Reference to the code in Oqtane, which doesn't make sense.

Expected Behavior

Public APIs / Helpers should be in NuGet.

Steps To Reproduce

  1. Create a new module, say it uses v6 (so it will use nuget packages)
  2. ...try to use the CookieRequestCultureProvider in your code.

Anything Else

After digging a bit deeper I looked at the DLL it it actually reports being .net 8 and Oqtane 5.2.4!

Check out https://nuget.info/packages/Oqtane.Shared/6.0.0

image

Downloading the DLL and inspecting with dotPeek shows the same problem:

image

sbwalker commented 2 days ago

This is caused by an issue in the nuspec files:

  <files>
    <file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.dll" target="lib\net9.0" />
    <file src="..\Oqtane.Shared\bin\Release\net8.0\Oqtane.Shared.pdb" target="lib\net9.0" />

Notice that it references the "net8.0" folder when it should actually be "net9.0"

This affects all of the Nuget packages for the 6.0 release. It is fixed in #4854

This will require a 6.0.1 release to resolve.

iJungleboy commented 2 days ago

@sbwalker I see similar issues pop up all the time, eg. when a theme / module is updated to a newer Oqtane.

The path name etc. are spread around in various places incl. cmd files and things like that.

If in any way possible I highly recommend finding and standardizing a solution where this information comes from a variable or is even automatically detected based on the build or something.