Replacement of a packages with packages with a differently cased ID causes nuget restore to break #2379

Closed
adamralph opened this Issue Mar 5, 2015 · 24 comments

Comments

Projects
None yet
8 participants
@adamralph

Yes, it's a bit of a mouthful, and a really bizarre problem. The background can be found at http://adamralph.com/2015/03/04/nuget-gallery-casing-woes/

In short, the original package ID was "Bau.XUnit". All versions of it were then removed by the support team. I then pushed several versions of the package with the ID "Bau.Xunit". The ID of the package seemed to change from "Bau.XUnit" to "Bau.Xunit" as expected. However, any download of the package which specifies a specific version (either via install or restore) now fails.

Using Fiddler I've discovered the following:

Install-Package -Prerelease -Id Bau.Xunit

uses the resource:

https://www.nuget.org/api/v2/FindPackagesById()?id=%27Bau.Xunit%27

and this resource responds perfectly, without any error, and the operation goes on to succeed.

Whereas the following (and also nuget restore)

Install-Package -Prerelease -Id Bau.Xunit -Version 0.1.0-beta07

uses the resource:

https://www.nuget.org/api/v2/Packages(Id='Bau.Xunit',Version='0.1.0-beta07')

and this resource returns an error (even though the status code is 200) which the client cannot process, and the operation fails.

Until this is fixed, my package is pretty much dead in the water, since it's impossible to run a restore against it.

In the short term, I'm hoping the support team can find a workaround (they are currently looking into it) and I'm hoping that anyone reading this may be able to help point them in the right direction. In the long term I guess it would be good to fix the root cause to prevent this happening again.

@adamralph adamralph changed the title from Replacement of a package with a package with a differently cased ID causes nuget restore to break to Replacement of a packages with packages with a differently cased ID causes nuget restore to break Mar 5, 2015

@adamralph adamralph referenced this issue in adamralph-archive/bau Mar 5, 2015

Closed

xunit.net plugin #36

@xavierdecoster

This comment has been minimized.

Show comment
Hide comment
@xavierdecoster

xavierdecoster Mar 5, 2015

Member

Just took a quick look at the FindPackagesById implementation for a v2 feed: it is actually doing a case-insensitive query on package id, so that call will always work after changing capitalization of any character in the package id.

The other call is querying the Packages collection on the OData endpoint. Given this call fails, I'd assume it is case-sensitive, and given the fact you are calling with the correct (expected) casing, my gut feeling says there's an issue in the data warehouse still referencing the old casing somewhere.

/cc @zhili1208

Member

xavierdecoster commented Mar 5, 2015

Just took a quick look at the FindPackagesById implementation for a v2 feed: it is actually doing a case-insensitive query on package id, so that call will always work after changing capitalization of any character in the package id.

The other call is querying the Packages collection on the OData endpoint. Given this call fails, I'd assume it is case-sensitive, and given the fact you are calling with the correct (expected) casing, my gut feeling says there's an issue in the data warehouse still referencing the old casing somewhere.

/cc @zhili1208

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 5, 2015

Hi @xavierdecoster! Yeah I suspected something like that.

I wonder if there's a way it could be manually hacked to align things.

Alternatively, if you can think of a way to completely remove all traces of the package, everywhere, I'd be happy for all versions of the package to be removed again, and I can try and re-upload them again?

Hi @xavierdecoster! Yeah I suspected something like that.

I wonder if there's a way it could be manually hacked to align things.

Alternatively, if you can think of a way to completely remove all traces of the package, everywhere, I'd be happy for all versions of the package to be removed again, and I can try and re-upload them again?

@xavierdecoster

This comment has been minimized.

Show comment
Hide comment
@xavierdecoster

xavierdecoster Mar 5, 2015

Member

Just did a 'view source' on the failing call:
https://www.nuget.org/api/v2/FindPackagesById()?id=%27Bau.Xunit%27

The failing call clearly returns a package with id Bau.XUnit instead of Bau.Xunit. If all versions of the package with this casing were removed, then the search endpoint is clearly thinking otherwise.

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="https://www.nuget.org/api/v2/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>https://www.nuget.org/api/v2/Packages(Id='Bau.XUnit',Version='0.1.0-beta07')</id>
    <category scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" term="NuGetGallery.V2FeedPackage"/>
    <link href="Packages(Id='Bau.XUnit',Version='0.1.0-beta07')" rel="edit" title="V2FeedPackage"/>
    <title type="text">Bau.XUnit</title>
    <summary type="text"/>
    <updated>2014-12-01T21:51:40Z</updated>
    <author>
        <name>Adam Ralph,  Bau contributors</name>
    </author>
    <link href="Packages(Id='Bau.XUnit',Version='0.1.0-beta07')/$value" rel="edit-media" title="V2FeedPackage"/>
    <content src="https://www.nuget.org/api/v2/package/Bau.XUnit/0.1.0-beta07" type="application/zip"/>
    <m:properties>
        <d:Published m:type="Edm.DateTime">2014-12-01T21:51:40.407</d:Published>
        <!-- Removed for brevity -->
    </m:properties>
</entry>

In addition it also contains an exception.
Adding it here for future reference.

<?xml version="1.0" encoding="utf-8"?>
<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <m:code>500</m:code>
    <m:message xml:lang="en-US">An error occurred while trying to write an error payload.</m:message>
    <m:innererror>
        <m:message>Cannot transition from state 'Completed' to state 'Error'. Nothing further can be written once the writer has completed.</m:message>
        <m:type>Microsoft.Data.OData.ODataException</m:type>
        <m:stacktrace>at Microsoft.Data.OData.ODataWriterCore.Microsoft.Data.OData.IODataOutputInStreamErrorListener.OnInStreamError()
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamErrorImplementation(ODataError error, Boolean includeDebugInformation)
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamError(ODataError error, Boolean includeDebugInformation)
   at System.Data.Services.ErrorHandler.WriteErrorWithFallbackForXml(ODataMessageWriter messageWriter, Encoding encoding, Stream responseStream, HandleExceptionArgs args, ODataError error, MessageWriterBuilder messageWriterBuilder)</m:stacktrace>
    </m:innererror>
</m:error>
Member

xavierdecoster commented Mar 5, 2015

Just did a 'view source' on the failing call:
https://www.nuget.org/api/v2/FindPackagesById()?id=%27Bau.Xunit%27

The failing call clearly returns a package with id Bau.XUnit instead of Bau.Xunit. If all versions of the package with this casing were removed, then the search endpoint is clearly thinking otherwise.

<?xml version="1.0" encoding="utf-8"?>
<entry xml:base="https://www.nuget.org/api/v2/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <id>https://www.nuget.org/api/v2/Packages(Id='Bau.XUnit',Version='0.1.0-beta07')</id>
    <category scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" term="NuGetGallery.V2FeedPackage"/>
    <link href="Packages(Id='Bau.XUnit',Version='0.1.0-beta07')" rel="edit" title="V2FeedPackage"/>
    <title type="text">Bau.XUnit</title>
    <summary type="text"/>
    <updated>2014-12-01T21:51:40Z</updated>
    <author>
        <name>Adam Ralph,  Bau contributors</name>
    </author>
    <link href="Packages(Id='Bau.XUnit',Version='0.1.0-beta07')/$value" rel="edit-media" title="V2FeedPackage"/>
    <content src="https://www.nuget.org/api/v2/package/Bau.XUnit/0.1.0-beta07" type="application/zip"/>
    <m:properties>
        <d:Published m:type="Edm.DateTime">2014-12-01T21:51:40.407</d:Published>
        <!-- Removed for brevity -->
    </m:properties>
</entry>

In addition it also contains an exception.
Adding it here for future reference.

<?xml version="1.0" encoding="utf-8"?>
<m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata">
    <m:code>500</m:code>
    <m:message xml:lang="en-US">An error occurred while trying to write an error payload.</m:message>
    <m:innererror>
        <m:message>Cannot transition from state 'Completed' to state 'Error'. Nothing further can be written once the writer has completed.</m:message>
        <m:type>Microsoft.Data.OData.ODataException</m:type>
        <m:stacktrace>at Microsoft.Data.OData.ODataWriterCore.Microsoft.Data.OData.IODataOutputInStreamErrorListener.OnInStreamError()
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamErrorImplementation(ODataError error, Boolean includeDebugInformation)
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamError(ODataError error, Boolean includeDebugInformation)
   at System.Data.Services.ErrorHandler.WriteErrorWithFallbackForXml(ODataMessageWriter messageWriter, Encoding encoding, Stream responseStream, HandleExceptionArgs args, ODataError error, MessageWriterBuilder messageWriterBuilder)</m:stacktrace>
    </m:innererror>
</m:error>
@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 5, 2015

Yep, I concur. I did a similar analysis.

Yep, I concur. I did a similar analysis.

@bastianeicher

This comment has been minimized.

Show comment
Hide comment
@bastianeicher

bastianeicher Mar 9, 2015

Not sure the issue is really related to casing at all.

I'm getting the exact same error behavior with my library NanoByte.Common since I released the last update, and I did not change the case.

Valid XML response: https://www.nuget.org/api/v2/Packages(Id='NanoByte.Common',Version='1.1.5')
XML Response with an exception tacked on (looking just like the one above): https://www.nuget.org/api/v2/Packages(Id='NanoByte.Common',Version='1.1.6')

Not sure the issue is really related to casing at all.

I'm getting the exact same error behavior with my library NanoByte.Common since I released the last update, and I did not change the case.

Valid XML response: https://www.nuget.org/api/v2/Packages(Id='NanoByte.Common',Version='1.1.5')
XML Response with an exception tacked on (looking just like the one above): https://www.nuget.org/api/v2/Packages(Id='NanoByte.Common',Version='1.1.6')

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 18, 2015

@bastianeicher I can see your issue reproducing, but I'm not sure if the root cause is the same. We are going to take a look at both issues.

@bastianeicher I can see your issue reproducing, but I'm not sure if the root cause is the same. We are going to take a look at both issues.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 18, 2015

@adamralph @bastianeicher we are trying to investigate this issue. Looks like in both your scenarios (edits to the package metadata or deleting/readding a package) we might end up with duplicates in our index. We are trying to both cleanup the index and fix the root cause problem.

A simple workaround for now would be to add another version of your packages either in the form of a -beta-07-0 in @adamralph case. Or 1.1.6.0 in @bastianeicher case. Sorry for your troubles, we are working on cleaning this thing out.

@adamralph @bastianeicher we are trying to investigate this issue. Looks like in both your scenarios (edits to the package metadata or deleting/readding a package) we might end up with duplicates in our index. We are trying to both cleanup the index and fix the root cause problem.

A simple workaround for now would be to add another version of your packages either in the form of a -beta-07-0 in @adamralph case. Or 1.1.6.0 in @bastianeicher case. Sorry for your troubles, we are working on cleaning this thing out.

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 18, 2015

Thanks @yishaigalatzer.

Would 0.1.0-beta08 have the same effect? I don't mind increase the beta counter.

Thanks @yishaigalatzer.

Would 0.1.0-beta08 have the same effect? I don't mind increase the beta counter.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 18, 2015

Yes it should, let us know if it doesn't.

Yes it should, let us know if it doesn't.

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 19, 2015

@yishaigalatzer thank you, uploading beta 8 did the trick - https://www.nuget.org/api/v2/Packages(Id='Bau.Xunit',Version='0.1.0-beta08')

This removes the immediate pressure on me to have this problem fixed 😄

@yishaigalatzer thank you, uploading beta 8 did the trick - https://www.nuget.org/api/v2/Packages(Id='Bau.Xunit',Version='0.1.0-beta08')

This removes the immediate pressure on me to have this problem fixed 😄

@bastianeicher

This comment has been minimized.

Show comment
Hide comment
@bastianeicher

bastianeicher Mar 21, 2015

@yishaigalatzer in case this relevant to your investigation of the issue:
I did not edit to the package metadata and/or delete/readd a package prior to running into the problem.

@yishaigalatzer in case this relevant to your investigation of the issue:
I did not edit to the package metadata and/or delete/readd a package prior to running into the problem.

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 21, 2015

That makes we wonder if Bau.Xunit simply suffered from some horrible, and hugely unlikely, coincidence.

That makes we wonder if Bau.Xunit simply suffered from some horrible, and hugely unlikely, coincidence.

@jozefizso

This comment has been minimized.

Show comment
Hide comment
@jozefizso

jozefizso Mar 24, 2015

Contributor

I have problems with restoring/installing WpfLocalizeExtension package:

c:\dev>nuget install WpfLocalizeExtension -verbosity detailed
GET https://www.nuget.org/api/v2/FindPackagesById()?$filter=IsLatestVersion&$orderby=Version desc&$top=1&id='WpfLocalizeExtension'
GET https://www.nuget.org/api/v2/Packages(Id='WpfLocalizeExtension',Version='2.3')
WARNING: Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 4, position 643.
System.InvalidOperationException: Unable to find version '2.3' of package 'WpfLocalizeExtension'.
   at NuGet.PackageRepositoryHelper.ResolvePackage(IPackageRepository sourceRepository, IPackageRepository localRepository, IPackageConstraintProvider constraintProvider, String packageId, SemanticVersion version, Boolean allowPrereleaseVersions)
   at NuGet.PackageManager.InstallPackage(String packageId, SemanticVersion version, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
   at NuGet.Commands.InstallCommand.InstallPackage(IFileSystem fileSystem, String packageId, SemanticVersion version)
   at NuGet.Commands.InstallCommand.ExecuteCommand()
   at NuGet.Commands.Command.Execute()
   at NuGet.Program.Main(String[] args)

Response contains this invalid XML:

<?xml version="1.0" encoding="utf-8"?><entry xml:base="https://www.nuget.org/api/v2/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><id>https://www.nuget.org/api/v2/Packages(Id='WpfLocalizeExtension',Version='2.3')</id><category term="NuGetGallery.V2FeedPackage" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><link rel="edit" title="V2FeedPackage" href="Packages(Id='WpfLocalizeExtension',Version='2.3')" /><title type="text">WpfLocalizeExtension</title><summary type="text">LocalizationExtension is a really easy way to localize any type of DependencyProperties or native Properties on DependencyObjects</summary><updated>2015-02-24T08:52:01Z</updated><author><name>Bernhard Millauer, Uwe Mayer</name></author><link rel="edit-media" title="V2FeedPackage" href="Packages(Id='WpfLocalizeExtension',Version='2.3')/$value" /><content type="application/zip" src="https://www.nuget.org/api/v2/package/WpfLocalizeExtension/2.3.0" /><m:properties><d:Version>2.3</d:Version><d:NormalizedVersion>2.3.0</d:NormalizedVersion><d:Copyright>Bernhard Millauer, Uwe Mayer</d:Copyright><d:Created m:type="Edm.DateTime">2015-02-24T08:46:45.827</d:Created><d:Dependencies>XAMLMarkupExtensions:1.2:</d:Dependencies><d:Description>LocalizationExtension is a really easy way to localize any type of DependencyProperties or native Properties on DependencyObjects</d:Description><d:DownloadCount m:type="Edm.Int32">16932</d:DownloadCount><d:GalleryDetailsUrl>https://www.nuget.org/packages/WpfLocalizeExtension/2.3.0</d:GalleryDetailsUrl><d:IconUrl></d:IconUrl><d:IsLatestVersion m:type="Edm.Boolean">true</d:IsLatestVersion><d:IsAbsoluteLatestVersion m:type="Edm.Boolean">true</d:IsAbsoluteLatestVersion><d:IsPrerelease m:type="Edm.Boolean">false</d:IsPrerelease><d:Language>en-US</d:Language><d:Published m:type="Edm.DateTime">2015-02-24T08:46:45.827</d:Published><d:PackageHash>UdtG8dNtzQO8zv47mV+mVe9IU9q/dj7qCcphxrRj+JF1aT8mlnzNS02ubXaoj7wZXQs/6fest9wJPecRhPYeMg==</d:PackageHash><d:PackageHashAlgorithm>SHA512</d:PackageHashAlgorithm><d:PackageSize m:type="Edm.Int64">16019</d:PackageSize><d:ProjectUrl>https://github.com/SeriousM/WPFLocalizationExtension/</d:ProjectUrl><d:ReportAbuseUrl>https://www.nuget.org/package/ReportAbuse/WpfLocalizeExtension/2.3.0</d:ReportAbuseUrl><d:ReleaseNotes>v2.3
* closes #42
* closes #48
* refs #34</d:ReleaseNotes><d:RequireLicenseAcceptance m:type="Edm.Boolean">true</d:RequireLicenseAcceptance><d:Tags>wpf silverlight phone localization extension globalization resx csv resource language</d:Tags><d:Title>WPF Localization Extension</d:Title><d:VersionDownloadCount m:type="Edm.Int32">435</d:VersionDownloadCount><d:MinClientVersion></d:MinClientVersion><d:LastEdited m:type="Edm.DateTime">2015-02-24T08:48:58.477</d:LastEdited><d:LicenseUrl>https://github.com/SeriousM/WPFLocalizationExtension/blob/master/LICENSE</d:LicenseUrl><d:LicenseNames></d:LicenseNames><d:LicenseReportUrl></d:LicenseReportUrl></m:properties></entry><?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>500</m:code><m:message xml:lang="en-US">An error occurred while trying to write an error payload.</m:message><m:innererror><m:message>Cannot transition from state 'Completed' to state 'Error'. Nothing further can be written once the writer has completed.</m:message><m:type>Microsoft.Data.OData.ODataException</m:type><m:stacktrace>   at Microsoft.Data.OData.ODataWriterCore.Microsoft.Data.OData.IODataOutputInStreamErrorListener.OnInStreamError()&#xD;
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamErrorImplementation(ODataError error, Boolean includeDebugInformation)&#xD;
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamError(ODataError error, Boolean includeDebugInformation)&#xD;
   at System.Data.Services.ErrorHandler.WriteErrorWithFallbackForXml(ODataMessageWriter messageWriter, Encoding encoding, Stream responseStream, HandleExceptionArgs args, ODataError error, MessageWriterBuilder messageWriterBuilder)</m:stacktrace></m:innererror></m:error>

The Install-Package WpfLocalizeExtension run in Visual Studio installs the packages correctly (even if I clear the NuGet cache folder).

Contributor

jozefizso commented Mar 24, 2015

I have problems with restoring/installing WpfLocalizeExtension package:

c:\dev>nuget install WpfLocalizeExtension -verbosity detailed
GET https://www.nuget.org/api/v2/FindPackagesById()?$filter=IsLatestVersion&$orderby=Version desc&$top=1&id='WpfLocalizeExtension'
GET https://www.nuget.org/api/v2/Packages(Id='WpfLocalizeExtension',Version='2.3')
WARNING: Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 4, position 643.
System.InvalidOperationException: Unable to find version '2.3' of package 'WpfLocalizeExtension'.
   at NuGet.PackageRepositoryHelper.ResolvePackage(IPackageRepository sourceRepository, IPackageRepository localRepository, IPackageConstraintProvider constraintProvider, String packageId, SemanticVersion version, Boolean allowPrereleaseVersions)
   at NuGet.PackageManager.InstallPackage(String packageId, SemanticVersion version, Boolean ignoreDependencies, Boolean allowPrereleaseVersions)
   at NuGet.Commands.InstallCommand.InstallPackage(IFileSystem fileSystem, String packageId, SemanticVersion version)
   at NuGet.Commands.InstallCommand.ExecuteCommand()
   at NuGet.Commands.Command.Execute()
   at NuGet.Program.Main(String[] args)

Response contains this invalid XML:

<?xml version="1.0" encoding="utf-8"?><entry xml:base="https://www.nuget.org/api/v2/" xmlns="http://www.w3.org/2005/Atom" xmlns:d="http://schemas.microsoft.com/ado/2007/08/dataservices" xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><id>https://www.nuget.org/api/v2/Packages(Id='WpfLocalizeExtension',Version='2.3')</id><category term="NuGetGallery.V2FeedPackage" scheme="http://schemas.microsoft.com/ado/2007/08/dataservices/scheme" /><link rel="edit" title="V2FeedPackage" href="Packages(Id='WpfLocalizeExtension',Version='2.3')" /><title type="text">WpfLocalizeExtension</title><summary type="text">LocalizationExtension is a really easy way to localize any type of DependencyProperties or native Properties on DependencyObjects</summary><updated>2015-02-24T08:52:01Z</updated><author><name>Bernhard Millauer, Uwe Mayer</name></author><link rel="edit-media" title="V2FeedPackage" href="Packages(Id='WpfLocalizeExtension',Version='2.3')/$value" /><content type="application/zip" src="https://www.nuget.org/api/v2/package/WpfLocalizeExtension/2.3.0" /><m:properties><d:Version>2.3</d:Version><d:NormalizedVersion>2.3.0</d:NormalizedVersion><d:Copyright>Bernhard Millauer, Uwe Mayer</d:Copyright><d:Created m:type="Edm.DateTime">2015-02-24T08:46:45.827</d:Created><d:Dependencies>XAMLMarkupExtensions:1.2:</d:Dependencies><d:Description>LocalizationExtension is a really easy way to localize any type of DependencyProperties or native Properties on DependencyObjects</d:Description><d:DownloadCount m:type="Edm.Int32">16932</d:DownloadCount><d:GalleryDetailsUrl>https://www.nuget.org/packages/WpfLocalizeExtension/2.3.0</d:GalleryDetailsUrl><d:IconUrl></d:IconUrl><d:IsLatestVersion m:type="Edm.Boolean">true</d:IsLatestVersion><d:IsAbsoluteLatestVersion m:type="Edm.Boolean">true</d:IsAbsoluteLatestVersion><d:IsPrerelease m:type="Edm.Boolean">false</d:IsPrerelease><d:Language>en-US</d:Language><d:Published m:type="Edm.DateTime">2015-02-24T08:46:45.827</d:Published><d:PackageHash>UdtG8dNtzQO8zv47mV+mVe9IU9q/dj7qCcphxrRj+JF1aT8mlnzNS02ubXaoj7wZXQs/6fest9wJPecRhPYeMg==</d:PackageHash><d:PackageHashAlgorithm>SHA512</d:PackageHashAlgorithm><d:PackageSize m:type="Edm.Int64">16019</d:PackageSize><d:ProjectUrl>https://github.com/SeriousM/WPFLocalizationExtension/</d:ProjectUrl><d:ReportAbuseUrl>https://www.nuget.org/package/ReportAbuse/WpfLocalizeExtension/2.3.0</d:ReportAbuseUrl><d:ReleaseNotes>v2.3
* closes #42
* closes #48
* refs #34</d:ReleaseNotes><d:RequireLicenseAcceptance m:type="Edm.Boolean">true</d:RequireLicenseAcceptance><d:Tags>wpf silverlight phone localization extension globalization resx csv resource language</d:Tags><d:Title>WPF Localization Extension</d:Title><d:VersionDownloadCount m:type="Edm.Int32">435</d:VersionDownloadCount><d:MinClientVersion></d:MinClientVersion><d:LastEdited m:type="Edm.DateTime">2015-02-24T08:48:58.477</d:LastEdited><d:LicenseUrl>https://github.com/SeriousM/WPFLocalizationExtension/blob/master/LICENSE</d:LicenseUrl><d:LicenseNames></d:LicenseNames><d:LicenseReportUrl></d:LicenseReportUrl></m:properties></entry><?xml version="1.0" encoding="utf-8"?><m:error xmlns:m="http://schemas.microsoft.com/ado/2007/08/dataservices/metadata"><m:code>500</m:code><m:message xml:lang="en-US">An error occurred while trying to write an error payload.</m:message><m:innererror><m:message>Cannot transition from state 'Completed' to state 'Error'. Nothing further can be written once the writer has completed.</m:message><m:type>Microsoft.Data.OData.ODataException</m:type><m:stacktrace>   at Microsoft.Data.OData.ODataWriterCore.Microsoft.Data.OData.IODataOutputInStreamErrorListener.OnInStreamError()&#xD;
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamErrorImplementation(ODataError error, Boolean includeDebugInformation)&#xD;
   at Microsoft.Data.OData.Atom.ODataAtomOutputContext.WriteInStreamError(ODataError error, Boolean includeDebugInformation)&#xD;
   at System.Data.Services.ErrorHandler.WriteErrorWithFallbackForXml(ODataMessageWriter messageWriter, Encoding encoding, Stream responseStream, HandleExceptionArgs args, ODataError error, MessageWriterBuilder messageWriterBuilder)</m:stacktrace></m:innererror></m:error>

The Install-Package WpfLocalizeExtension run in Visual Studio installs the packages correctly (even if I clear the NuGet cache folder).

@jozefizso

This comment has been minimized.

Show comment
Hide comment
@jozefizso

jozefizso Mar 24, 2015

Contributor

Installing the package using Install-Package works, but running Update-Package -Reinstall will fail:

PM> Install-Package WpfLocalizeExtension -Verbose
Attempting to resolve dependency 'XAMLMarkupExtensions (≥ 1.2)'.
Installing 'WpfLocalizeExtension 2.3'.
You are downloading WpfLocalizeExtension from Bernhard Millauer,  Uwe Mayer, the license agreement to which is available at https://github.com/SeriousM/WPFLocalizationExtension/blob/master/LICENSE. Check the package for additional dependencies, which may come with their own license agreement(s). Your use of the package and dependencies constitutes your acceptance of their license agreements. If you do not accept the license agreement(s), then delete the relevant components from your device.
Added file 'WPFLocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\net35'.
Added file 'WPFLocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\net35'.
Added file 'WP7LocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Added file 'WP7LocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Added file 'SLLocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\sl50'.
Added file 'SLLocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\sl50'.
Added file 'WpfLocalizeExtension.2.3.nupkg' to folder 'WpfLocalizeExtension.2.3'.
Successfully installed 'WpfLocalizeExtension 2.3'.
Adding 'XAMLMarkupExtensions 1.2' to Project1.
For adding package 'XAMLMarkupExtensions 1.2' to project 'Project1' that targets 'net45',
>> Assembly references are being added from 'lib\net40'
Added reference 'XAMLMarkupExtensions' to project 'Project1'
Added file 'packages.config'.
Successfully added 'XAMLMarkupExtensions 1.2' to Project1.
Adding 'WpfLocalizeExtension 2.3' to Project1.
For adding package 'WpfLocalizeExtension 2.3' to project 'Project1' that targets 'net45',
>> Assembly references are being added from 'lib\net35'
Added reference 'WPFLocalizeExtension' to project 'Project1'
Added file 'packages.config'.
Successfully added 'WpfLocalizeExtension 2.3' to Project1.
PM> Update-Package -Reinstall WpfLocalizeExtension -Verbose
Removing 'WpfLocalizeExtension 2.3' from Project1.
Removed reference 'WPFLocalizeExtension.dll' from project 'Project1'
Added file 'packages.config'.
Successfully removed 'WpfLocalizeExtension 2.3' from Project1.
Removing 'XAMLMarkupExtensions 1.2' from Project1.
Removed reference 'XAMLMarkupExtensions.dll' from project 'Project1'
Added file 'packages.config'.
Successfully removed 'XAMLMarkupExtensions 1.2' from Project1.
Uninstalling 'WpfLocalizeExtension 2.3'.
Removed file 'WP7LocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed file 'WP7LocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed file 'WPFLocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed file 'WPFLocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed file 'SLLocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed file 'SLLocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib'.
Removed file 'WpfLocalizeExtension.2.3.nupkg' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3'.
Successfully uninstalled 'WpfLocalizeExtension 2.3'.
Update-Package : Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 4, position 643.
At line:1 char:1
+ Update-Package -Reinstall WpfLocalizeExtension -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Update-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UpdatePackageCommand
Contributor

jozefizso commented Mar 24, 2015

Installing the package using Install-Package works, but running Update-Package -Reinstall will fail:

PM> Install-Package WpfLocalizeExtension -Verbose
Attempting to resolve dependency 'XAMLMarkupExtensions (≥ 1.2)'.
Installing 'WpfLocalizeExtension 2.3'.
You are downloading WpfLocalizeExtension from Bernhard Millauer,  Uwe Mayer, the license agreement to which is available at https://github.com/SeriousM/WPFLocalizationExtension/blob/master/LICENSE. Check the package for additional dependencies, which may come with their own license agreement(s). Your use of the package and dependencies constitutes your acceptance of their license agreements. If you do not accept the license agreement(s), then delete the relevant components from your device.
Added file 'WPFLocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\net35'.
Added file 'WPFLocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\net35'.
Added file 'WP7LocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Added file 'WP7LocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Added file 'SLLocalizeExtension.dll' to folder 'WpfLocalizeExtension.2.3\lib\sl50'.
Added file 'SLLocalizeExtension.xml' to folder 'WpfLocalizeExtension.2.3\lib\sl50'.
Added file 'WpfLocalizeExtension.2.3.nupkg' to folder 'WpfLocalizeExtension.2.3'.
Successfully installed 'WpfLocalizeExtension 2.3'.
Adding 'XAMLMarkupExtensions 1.2' to Project1.
For adding package 'XAMLMarkupExtensions 1.2' to project 'Project1' that targets 'net45',
>> Assembly references are being added from 'lib\net40'
Added reference 'XAMLMarkupExtensions' to project 'Project1'
Added file 'packages.config'.
Successfully added 'XAMLMarkupExtensions 1.2' to Project1.
Adding 'WpfLocalizeExtension 2.3' to Project1.
For adding package 'WpfLocalizeExtension 2.3' to project 'Project1' that targets 'net45',
>> Assembly references are being added from 'lib\net35'
Added reference 'WPFLocalizeExtension' to project 'Project1'
Added file 'packages.config'.
Successfully added 'WpfLocalizeExtension 2.3' to Project1.
PM> Update-Package -Reinstall WpfLocalizeExtension -Verbose
Removing 'WpfLocalizeExtension 2.3' from Project1.
Removed reference 'WPFLocalizeExtension.dll' from project 'Project1'
Added file 'packages.config'.
Successfully removed 'WpfLocalizeExtension 2.3' from Project1.
Removing 'XAMLMarkupExtensions 1.2' from Project1.
Removed reference 'XAMLMarkupExtensions.dll' from project 'Project1'
Added file 'packages.config'.
Successfully removed 'XAMLMarkupExtensions 1.2' from Project1.
Uninstalling 'WpfLocalizeExtension 2.3'.
Removed file 'WP7LocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed file 'WP7LocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl4-wp71'.
Removed file 'WPFLocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed file 'WPFLocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\net35'.
Removed file 'SLLocalizeExtension.dll' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed file 'SLLocalizeExtension.xml' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib\sl50'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3\lib'.
Removed file 'WpfLocalizeExtension.2.3.nupkg' to folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3'.
Removed folder 'D:\dev\Project1\packages\WpfLocalizeExtension.2.3'.
Successfully uninstalled 'WpfLocalizeExtension 2.3'.
Update-Package : Unexpected XML declaration. The XML declaration must be the first node in the document, and no white space characters are allowed to appear before it. Line 4, position 643.
At line:1 char:1
+ Update-Package -Reinstall WpfLocalizeExtension -Verbose
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
    + CategoryInfo          : NotSpecified: (:) [Update-Package], Exception
    + FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.UpdatePackageCommand
@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 24, 2015

This is because the client uses different resources for different operations. E.g. for Bau.Xunit 0.7.0, restoration fails but installation succeeds.

This is because the client uses different resources for different operations. E.g. for Bau.Xunit 0.7.0, restoration fails but installation succeeds.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 31, 2015

@jozefizso please don't mix bugs. Open your own :) at home

@jozefizso please don't mix bugs. Open your own :) at home

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 31, 2015

@adamralph this should resolve your issue. We we are currently blocking user deletes, and looking for perhaps an obscure race condition based on @bastianeicher. But there is nothing to do here, until we enable a self serve delete at some point in the future.

@adamralph this should resolve your issue. We we are currently blocking user deletes, and looking for perhaps an obscure race condition based on @bastianeicher. But there is nothing to do here, until we enable a self serve delete at some point in the future.

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 31, 2015

@yishaigalatzer sorry, I don't understand. What is it that should resolve my issue?

@yishaigalatzer sorry, I don't understand. What is it that should resolve my issue?

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 31, 2015

Publishing a new package of version 0.8.0, am I missing something?

Publishing a new package of version 0.8.0, am I missing something?

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Mar 31, 2015

@yishaigalatzer Thanks, it wasn't clear what you were referring to.

I don't believe this issue is solved. Yes, we have a workaround, but it involves work for consumers, i.e. upgrading to 0.8.0. Any attempts to perform package restore when using 0.7.0 or earlier will still fail, so the situation is far from ideal.

@yishaigalatzer Thanks, it wasn't clear what you were referring to.

I don't believe this issue is solved. Yes, we have a workaround, but it involves work for consumers, i.e. upgrading to 0.8.0. Any attempts to perform package restore when using 0.7.0 or earlier will still fail, so the situation is far from ideal.

@yishaigalatzer

This comment has been minimized.

Show comment
Hide comment
@yishaigalatzer

yishaigalatzer Mar 31, 2015

@adamralph. Yes I agree, we will add at some point proper user level deletes, and we are tracking separately an improvement to the sync mechanism such that deletes don't create duplicates. We will be running a manual re-sync sometimes this week so this index is back in order.

For now we are just not allowing deletes and unlisting is the way to go. (We shouldn't have allowed them anyways through a manual request). And have monitoring in place to understand if this happens again (and a mechanism to fix it manually, until we get to the bottom of the issue)

@adamralph. Yes I agree, we will add at some point proper user level deletes, and we are tracking separately an improvement to the sync mechanism such that deletes don't create duplicates. We will be running a manual re-sync sometimes this week so this index is back in order.

For now we are just not allowing deletes and unlisting is the way to go. (We shouldn't have allowed them anyways through a manual request). And have monitoring in place to understand if this happens again (and a mechanism to fix it manually, until we get to the bottom of the issue)

@deepakaravindr

This comment has been minimized.

Show comment
Hide comment
@deepakaravindr

deepakaravindr Apr 1, 2015

Member

@adamralph , This issue is related to #2328

Member

deepakaravindr commented Apr 1, 2015

@adamralph , This issue is related to #2328

@adamralph

This comment has been minimized.

Show comment
Hide comment
@adamralph

adamralph Apr 1, 2015

@deepakaravindr thanks for the link!

@deepakaravindr thanks for the link!

@maartenba

This comment has been minimized.

Show comment
Hide comment
@maartenba

maartenba Apr 9, 2015

Contributor

Also related to #2390 (which now has been fixed)

Contributor

maartenba commented Apr 9, 2015

Also related to #2390 (which now has been fixed)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment