microsoft / microsoft-ui-xaml

WinUI: a modern UI framework with a rich set of controls and styles to build dynamic and high-performing Windows applications.
MIT License
6.38k stars 683 forks source link

Discussion: Please stop unlisting WinUI 3 Previews on nuget.org #2918

Closed dotMorten closed 3 years ago

dotMorten commented 4 years ago

Discussion: Please stop unlisting WinUI 3 Previews on nuget.org

I don't get why you unlist the WinUI 3 packages on nuget. It prevents us from searching for the package and add it in Visual Studio: image

Also it makes it impossible to find a list of versions, and your version numbers aren't exactly predictable, so we can't really add them manually either. Also we don't get notifications of updates to our packages either.

It's not like it's actually invisible/undiscoverable. From your project template, you can tell the package ID is Microsoft.WinUI, so you can literally just go to the URL on nuget.org and see the package:

https://www.nuget.org/packages/Microsoft.WinUI

In fact, I was able to see the preview 2 package the day before you officially announced it. Additionally if you really intended to hide preview 2, if you had preview 1 listed, it would actually hide preview 2 and I'd only be able to see if it I knew the exact version number.

Related Links

https://www.nuget.org/packages/Microsoft.WinUI

dotMorten commented 4 years ago

Someone in the Community Call was just asking:

​What is the NuGet version for the preview 2 release? I updated the project templates but the NuGet packages do not show updates available.

That's exactly these sort of problems that shouldn't be an issue, but is caused by not listing publicly released packages.

ranjeshj commented 4 years ago

Preview2 is this one https://www.nuget.org/packages/Microsoft.WinUI/3.0.0-preview2.200713.0

@dotMorten There were some concerns with making it a public listing for preview2

@stevenbrix @alwu-msft @MikeHillberg @anawishnoff as FYI.

MikeHillberg commented 4 years ago

We already have a "prerelease WinUI" listed, which is WinUI2, although the package is named Microsoft.UI.Xaml. We've been concerned about creating confusion with that. And so far the previews of WinUI3 have required/recommended an updated VSIX, which has the reference to the WinUI3 NuGet package.

dotMorten commented 4 years ago

I get your concerns. I just think it creates more problems than it solves.

stevenbrix commented 4 years ago

Listing them on a different public feed would fix all the worries the WinUI team has and still allow customers to find it. This is what the WindowsCommunityToolkit does with their WinUI3 packages.

dotMorten commented 4 years ago

@stevenbrix How would that change anything, except making it even harder to find and restore them?

stevenbrix commented 4 years ago

You'd just add a different nuget feed to your global nuget config once and then you can find it - which is easier than trying to find unlisted nuget packages. It's also what the .NET team does with "preview of preview" packages, only the official .NET previews are on nuget.org, but the dailies are on different public feeds. If we followed the same pattern, WinUI2 and WinUI2 previews stay on nuget.org, and WinUI3 previews would logically be on a different feed.

dotMorten commented 4 years ago

You'd just add a different nuget feed to your global nuget config once

Sure but then I have to ask all devs to do that. Or check in a nuget.config to source control. Just keep it simple and use nuget.org.

It's also what the .NET team does with "preview of preview" packages

But these aren't preview of previews. These are released previews that you are asking people to go try out.

stevenbrix commented 4 years ago

Or check in a nuget.config to source control.

Checking in a nuget.config sounds fairly reasonable, is there a reason why this isn't enough?

But these aren't preview of previews. These are released previews that you are asking people to go try out.

Call it what you like, but these aren't the "official WinUI previews" - just like the daily builds of .NET aren't the official .NET previews. Our official WinUI previews are still WinUI2.x previews.

However, this does just seem like delaying the inevitable. I would assume come November we'll list WinUI3 on nuget.org and we'll still be developing WinUI2. So there is still the chance of "oops I searched for WinUI and saw a new package and tried that and everything broke".

sjb-sjb commented 4 years ago

This is still a problem post-November release. It is incomprehensible that the WinUI 3 package cannot be retrieved through VS/Nuget.

sjb-sjb commented 4 years ago

OK with the hints above I see how to reinstall the Microsoft.WinUI package (i.e. WinUI 3 Preview 2) into my project. I removed it using the NuGet Package Manager and it cannot be restored using the user interface to search NuGet.org. However you can get it by going to Tools > Nuget Package Manager > Package Manager Console and typing the following command:

   Install-Package Microsoft.WinUI -Version 3.0.0-preview3.201113.0