Delen via


Releaseopmerkingen voor NuGet 1.8

Releaseopmerkingen | voor NuGet 1.7Releaseopmerkingen voor NuGet 2.0

NuGet 1.8 werd uitgebracht op 23 mei 2012.

Bekend installatieprobleem

Als u VS 2010 SP1 uitvoert, treedt er mogelijk een installatiefout op bij het upgraden van NuGet als u een oudere versie hebt geïnstalleerd.

De tijdelijke oplossing is om NuGet te verwijderen en vervolgens te installeren vanuit de VS Extension Gallery. Zie https://support.microsoft.com/kb/2581019 voor meer informatie of ga rechtstreeks naar de VS-hotfix.

Opmerking: Als u in Visual Studio de extensie niet kunt verwijderen (de knop Verwijderen is uitgeschakeld), moet u Visual Studio waarschijnlijk opnieuw starten met 'Als administrator uitvoeren'.

NuGet 1.8 Incompatibel met Windows XP, hotfix gepubliceerd

Kort nadat NuGet 1.8 werd uitgebracht, hebben we ontdekt dat een cryptografiewijziging in 1.8 problemen veroorzaakte voor gebruikers op Windows XP.

We hebben sindsdien een hotfix uitgebracht waarmee dit probleem wordt opgelost. Als u NuGet bijwerkt via de Visual Studio Extension Gallery, ontvangt u deze hotfix.

Features

Satellietpakketten voor gelokaliseerde bronnen

NuGet 1.8 ondersteunt nu de mogelijkheid om afzonderlijke pakketten te maken voor gelokaliseerde resources, vergelijkbaar met de mogelijkheden van de satellietassembly van .NET Framework. Een satellietpakket wordt op dezelfde manier gemaakt als elk ander NuGet-pakket met een aantal conventies:

  • De satellietpakket-id en bestandsnaam moeten een achtervoegsel bevatten dat overeenkomt met een van de standaard cultuurtekenreeksen die worden gebruikt door .NET Framework.
  • In het .nuspec bestand moet het satellietpakket een taalelement definiëren met dezelfde cultuurtekenreeks die in de id wordt gebruikt
  • Het satellietpakket moet een afhankelijkheid in het .nuspec bestand definiëren naar het kernpakket, dat gewoon het pakket met dezelfde id minus het taalachtervoegsel is. Het kernpakket moet beschikbaar zijn in de opslagplaats voor een geslaagde installatie.

Een ontwikkelaar selecteert expliciet het gelokaliseerde pakket in de opslagplaats om een pakket met gelokaliseerde resources te installeren. Op dit moment geeft de NuGet-galerie geen speciale behandeling aan satellietpakketten.

Dialoogvenster Pakketbeheer met gelokaliseerde pakketten

Omdat in het satellietpakket een afhankelijkheid van het kernpakket wordt vermeld, worden zowel de satelliet- als kernpakketten naar de map NuGet-pakketten gehaald en geïnstalleerd.

Pakkettenmap met gelokaliseerde pakketten

Daarnaast herkent NuGet tijdens het installeren van het satellietpakket ook de naamconventie voor cultuurtekenreeksen en kopieert de gelokaliseerde resourceassembly vervolgens naar de juiste submap binnen het kernpakket, zodat deze kan worden gekozen door .NET Framework.

Kernpakketmap met gekopieerde resourcemap

Een bestaande fout die u met satellietpakketten kunt noteren, is dat NuGet geen gelokaliseerde resources naar de bin map voor websiteprojecten kopieert. Dit probleem wordt opgelost in de volgende release van NuGet.

Zie voor een volledig voorbeeld waarin wordt gedemonstreerd hoe u satellietpakketten https://github.com/NuGet/SatellitePackageSamplemaakt en gebruikt.

In NuGet 1.8 hebben we de basis gelegd voor het ondersteunen van een belangrijke beperking voor pakketherstel om de privacy van gebruikers te beschermen. Deze beperking vereist dat ontwikkelaars projecten en oplossingen bouwen die pakketherstel gebruiken om expliciet toestemming te geven voor pakketherstel die online gaat om pakketten te downloaden uit geconfigureerde pakketbronnen.

Er zijn twee manieren om deze toestemming te geven. De eerste vindt u in het configuratiedialoogvenster van Package Manager, zoals hieronder wordt weergegeven. Deze methode is voornamelijk bedoeld voor ontwikkelcomputers.

Configuratiedialoogvenster van Package Manager

De tweede methode is het instellen van de omgevingsvariabele EnableNuGetPackageRestore op de waarde 'true'. Deze methode is bedoeld voor computers zonder toezicht, zoals CI of buildservers.

Zoals hierboven vermeld, hebben we alleen de basis gelegd voor deze functie in NuGet 1.8. Praktisch betekent dit dat hoewel we alle logica hebben toegevoegd om de functie in te schakelen, deze momenteel niet wordt afgedwongen in deze versie. Deze wordt echter ingeschakeld in de volgende release van NuGet. Daarom willen we u zo snel mogelijk op de hoogte stellen, zodat u uw omgevingen op de juiste manier kunt configureren en daarom niet worden beïnvloed wanneer we de toestemmingsbeperking gaan afdwingen.

Zie het teamblogbericht over deze functie voor meer informatie.

prestatieverbeteringen nuget.exe

Door de installatieopdracht te wijzigen om pakketten parallel te downloaden en te installeren, brengt NuGet 1.8 aanzienlijke prestatieverbeteringen aan nuget.exe - en door pakketherstel van extensies. Testen op hoog niveau laat zien dat de prestaties voor het installeren van 6 pakketten in een project met ongeveer 35% in NuGet 1.8 worden verbeterd. Het verhogen van het aantal pakketten tot 25 toont een prestatiewinst van ongeveer 60%.

Oplossingen voor bugs

NuGet 1.8 bevat nogal wat bugfixes met nadruk op de package manager-console en de werkstroom voor pakketherstel, met name omdat het betrekking heeft op toestemming voor pakketherstel en Windows 8 Express-integratie. Voor een volledige lijst met werkitems die zijn opgelost in NuGet 1.8, bekijkt u de [NuGet Issue Tracker for this release](http://nuget.codeplex.com/workitem/list/advanced?keyword=&status=Closed&type=All&priority=All&release=NuGet%201.8&assignedTo=All&component=All&sortField=Votes&sortDirection=Descending&page=0).