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

NuGet.Commands embedded copy of FileSystemGlobbing is now public #2345

Closed
analogrelay opened this issue Mar 16, 2016 · 27 comments · Fixed by NuGet/NuGet.Client#4931
Closed
Assignees
Labels
Category:BreakingChange Category:Quality Week Issues that should be considered for quality week Functionality:SDK The NuGet client packages published to nuget.org Platform:Xplat Priority:2 Issues for the current backlog. Type:DCR Design Change Request Type:Engineering product/infrastructure work/not a customer bug/feature/DCR
Milestone

Comments

@analogrelay
Copy link

Because preprocess code is not available in RC2, the code that "internalizes" the copy of FileSystemGlobbing that NuGet.Commands embeds isn't in effect. As a result, the classes are public and conflict with the real FileSystemGlobbing. I've worked around it in CLI, but it should be fixed.

/cc @emgarten @yishaigalatzer @davidfowl

@yishaigalatzer
Copy link

We can probably move to consume the official FileSystemGlobbing

@yishaigalatzer yishaigalatzer added the Type:DCR Design Change Request label Mar 17, 2016
analogrelay added a commit to dotnet/cli that referenced this issue Mar 21, 2016
@emgarten emgarten added this to the 3.5 Beta3 milestone Jun 15, 2016
@emgarten
Copy link
Member

The FileSystemGlobbing package does not support net45, only net451. NuGet still needs net45 for Visual Studio.

@emgarten
Copy link
Member

@anurse is it possible to get a version of FileSystemGlobbing with support for net45 on nuget.org?

@analogrelay
Copy link
Author

analogrelay commented Jul 12, 2016

What is the context that requires .NET 4.5? Both .NET 4.5 and 4.5.1 are outside the extended support date according to the support lifecycle (https://support.microsoft.com/en-us/lifecycle/search?sort=PN&alpha=.net%20framework%204). So even on older (supported) versions of Visual Studio we'd be expecting users to have updated from 4.5 to 4.5.2 (at least)

@emgarten
Copy link
Member

nuget.exe is net45 and changing it could break some users

@yishaigalatzer
Copy link

Is there anything requiring it to be 4.5.1?

@analogrelay
Copy link
Author

Technically, I don't think so, but .NET 4.5 is not supported by Microsoft so it's not really my decision :)

@analogrelay
Copy link
Author

nuget.exe is net45 and changing it could break some users

True, but they're already on an unsupported framework.

@rrelyea
Copy link
Contributor

rrelyea commented Jul 15, 2016

@anurse I'd prefer to minimize the engineering work here to use this package, and we still have a business need to not require people to have to update their .NET Framework versions just to continue to use the latest version of NuGet.exe.
Targeting 4.5 in your package, if your api usage allows, should be easy...and doesn't mean that microsoft now needs to do security patches for 4.5.
Wanted to talk to you in person, but you aren't at your desk.

@analogrelay
Copy link
Author

@rrelyea As I said, there's no technical issue that I'm aware of, so if it gets approval from our PMs we can do it.

@rrelyea
Copy link
Contributor

rrelyea commented Jul 15, 2016

Filed request on aspnet team: aspnet/FileSystem#212

@Eilon
Copy link

Eilon commented Jul 18, 2016

Can NuGet just change all their types to be internal? Does NuGet still take drops of new FileSystemGlobbing source code? Or is it just using some particular version that can essentially be forked?

@emgarten
Copy link
Member

emgarten commented Jul 19, 2016

The types could be changed to internal to work around this, but ideally we want to stop maintaining a fork and just use the official package.

Currently NuGet has a submodule which references the NuGet/SubModuleIntegration branch of FileSystemGlobbing.

@Eilon
Copy link

Eilon commented Jul 24, 2016

If we change it in the official package, the next official build won't be until a few months from now. Will you use nightly builds or wait for 1.1.0 RTM?

@emgarten
Copy link
Member

We need a stable version, but NuGet can work around this as needed until 1.1.0 is out.

@Eilon
Copy link

Eilon commented Jul 26, 2016

Ok. We will try to get this updated for 1.1.0, barring any issues we run into.

@rrelyea
Copy link
Contributor

rrelyea commented Jul 27, 2016

Should be ready for us to fix in 3.6beta.

@BrennanConroy
Copy link

This is done on our side

@emgarten emgarten removed their assignment Feb 14, 2017
@rrelyea rrelyea modified the milestones: Future-1, Backlog Nov 30, 2017
@koliyo
Copy link

koliyo commented Jul 28, 2021

I just bumped into this exact problem.

Package.cs(404,31): error CS0433: The type 'Matcher' exists in both 'Microsoft.Extensions.FileSystemGlobbing, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and 'NuGet.Commands, Version=5.10.0.7240, Culture=neutral, PublicKeyToken=31bf3856ad364e35' [/Users/nils/Work/bravo/Bml/Bml.csproj]

And I think going forward this could possibly cause more problems if not fixed, compared to the potential backward compatibly problems with dropping support for legacy .NET 4.5 users.

@nkolev92
Copy link
Member

@jeffkl the checklist confused GH :D
Closing this given that you fixed it.

@nkolev92 nkolev92 added this to the 6.3 milestone Apr 22, 2022
@erdembayar erdembayar reopened this Apr 27, 2022
@erdembayar
Copy link
Contributor

erdembayar commented Apr 27, 2022

Reverted the merge NuGet/NuGet.Client#4595, so I'm reopening the issue.
See https://github.com/NuGet/Client.Engineering/issues/1581 for details.
Fyi @jeffkl @nkolev92

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Category:BreakingChange Category:Quality Week Issues that should be considered for quality week Functionality:SDK The NuGet client packages published to nuget.org Platform:Xplat Priority:2 Issues for the current backlog. Type:DCR Design Change Request Type:Engineering product/infrastructure work/not a customer bug/feature/DCR
Projects
None yet