I specified a feed URL and credentials in NuGet.Config via PackageSourceProvider class.
When I call NuGet.exe list for that package source, it manages to use persisted credentials for all urls but http://feed.url/path/$metadata.
It looks like there is an issue in NuGet.UriUtility.UriEquals. Most likely it does not process paths like $/metadata right.
I suppose SettingsCredentialProvider.TryGetCredentials method should check Urls to starts with, and not by equals
Comments: Upcoming focus with the NuGet API will be to move away from OData, which will make this issue moot.
When I call NuGet.exe list for that package source, it manages to use persisted credentials for all urls but http://feed.url/path/$metadata.
It looks like there is an issue in NuGet.UriUtility.UriEquals. Most likely it does not process paths like $/metadata right.
I suppose SettingsCredentialProvider.TryGetCredentials method should check Urls to starts with, and not by equals
Comments: Upcoming focus with the NuGet API will be to move away from OData, which will make this issue moot.