Jegyzet
Az oldalhoz való hozzáférés engedélyezést igényel. Próbálhatod be jelentkezni vagy könyvtárat váltani.
Az oldalhoz való hozzáférés engedélyezést igényel. Megpróbálhatod a könyvtár váltását.
NuGet 2.2.1 kibocsátási megjegyzések | NuGet 2.6 kibocsátási megjegyzések
A NuGet 2.5 2013. április 25-én jelent meg. Ez a kiadás olyan nagy volt, hogy kénytelenek voltunk kihagyni a 2.3-at és a 2.4-es verziót! A mai napig ez a legnagyobb kiadásunk a NuGethez, és a kiadásban több mint [160 work items](https://nuget.codeplex.com/workitem/list/advanced?release=NuGet%202.5&status=all) található.
Köszönetnyilvánítás
Köszönjük a következő külső közreműködőknek a NuGet 2.5-höz való jelentős hozzájárulásukat:
-
[Daniel Plaisted](https://www.codeplex.com/site/users/view/dsplaisted)(@dsplaisted)-
[#2847](https://nuget.codeplex.com/workitem/2847)– A MonoAndroid, a MonoTouch és a MonoMac hozzáadása az ismert cél-keretrendszer-azonosítók listájához.
-
-
[Andres G. Aragoneses](https://www.codeplex.com/site/users/view/knocte)(@knocte)-
[#2865](https://nuget.codeplex.com/workitem/2865)– A kis- és nagybetűket megkülönböztető operációs rendszer számára aNuGet.targetshelyesírásának javítása
-
-
[David Fowler](https://www.codeplex.com/site/users/view/dfowler)(@davidfowl)- Építse meg a megoldást Monon.
-
[Andrew Theken](https://www.codeplex.com/site/users/view/atheken)(@atheken)- A Mono-n sikertelen egységtesztek javítása.
-
[Olivier Dagenais](https://www.codeplex.com/site/users/view/OliIsCool)(@OliIsCool)-
[#2920](https://nuget.codeplex.com/workitem/2920)- nuget.exe csomagparancs nem propagálja a tulajdonságokat az MSBuildbe
-
-
[Miroslav Bajtos](https://www.codeplex.com/site/users/view/MiroslavBajtos)(@bajtos)-
[#1511](https://nuget.codeplex.com/workitem/1511)– Módosított XML-kezelési kód a formázás megőrzése érdekében.
-
-
[Adam Ralph](http://www.codeplex.com/site/users/view/adamralph)(@adamralph)- Felismert szavakat adott hozzá a saját szótárhoz, hogy build.cmd sikeres legyen.
[Bruno Roggeri](https://www.codeplex.com/site/users/view/broggeri)- Javítsa az egységteszteket, amikor honosított Visual Studio-ban futtatja őket.
[Gareth Evans](https://www.codeplex.com/site/users/view/garethevans)- Kinyert felület a PackageService-ből
-
[Maxime Brugidou](https://www.codeplex.com/site/users/view/brugidou)(@brugidou)-
[#936](https://nuget.codeplex.com/workitem/936)– Projektfüggőségek kezelése csomagoláskor
-
-
[Xavier Decoster](https://www.codeplex.com/site/users/view/XavierDecoster)(@XavierDecoster)-
[#2991](https://nuget.codeplex.com/workitem/2991),[#3164](https://nuget.codeplex.com/workitem/3164)- Támogatja a szöveges jelszó törlését a csomag forrásának hitelesítő adatainak nuget.cofig fájlokban való tárolásakor
-
-
[James Manning](http://www.codeplex.com/site/users/view/jmanning)(@manningj)-
[#3190](http://nuget.codeplex.com/workitem/3190),[#3191](https://nuget.codeplex.com/workitem/3191)- Get-Package súgó leírásának javítása
-
Megtiszteltetés számunkra, hogy köszönetet mondunk azoknak a személyeknek, akik a NuGet 2.5 béta/RC verziójának hibáit felfedezték, és ezek a hibák a végleges kiadás előtt jóváhagyásra és kijavításra kerültek.
-
[Tony Wall](https://www.codeplex.com/site/users/view/CodeChief)(@CodeChief)-
[#3200](https://nuget.codeplex.com/workitem/3200)- MsTest nem működik a legújabb NuGet 2.4 és 2.5 build-ekkel
-
A kiadás figyelemre méltó funkciói
A felhasználók felülírhatják a már létező tartalomfájlokat
Az egyik legkeresettebb funkció az volt, hogy a lemezen már létező tartalomfájlokat felül lehessen írni, amikor azok egy NuGet-csomagban szerepelnek. A NuGet 2.5-től kezdve ezek az ütközések azonosíthatók, és a rendszer kéri a fájlok felülírását, míg korábban ezek a fájlok mindig kimaradtak.
A 'nuget.exe update' és az 'Install-Package' mostantól mind rendelkezik a '-FileConflictAction' új lehetőséggel a parancssori forgatókönyvek számára alapértelmezett beállítás megadásához.
Alapértelmezett művelet beállítása, ha egy csomagból származó fájl már létezik a célprojektben. Állítsa "Felülírás" értékre, hogy mindig felülírja a fájlokat. A fájlok kihagyásához állítsa a "Kihagyás" értéket. Ha nincs megadva, minden ütköző fájlra rákérdez.
MSBuild-célok és -kellékfájlok automatikus importálása
Új hagyományos mappa lett létrehozva a NuGet-csomag legfelső szintjén. Társként \lib\content\toolsmostantól egy mappát is felvehet \build a csomagba. Ebben a mappában két rögzített nevű fájlt helyezhet el. {packageid}.targets{packageid}.props A két fájl közvetlenül vagy a build alatt, vagy a keretrendszer-specifikus mappák alá kerülhet, ugyanúgy, mint a többi mappa. A legjobban megfeleltethető keretrendszermappa kiválasztására vonatkozó szabály pontosan megegyezik azokban leírtakéval.
Amikor a NuGet egy \build fájlokat tartalmazó csomagot telepít, hozzáad egy MSBuild <Import> elemet a projektfájlhoz, amely mutat a .targets és .props fájlokra. A .props fájl felül lesz hozzáadva, míg a .targets fájl alul lesz hozzáadva.
Platformonként eltérő hivatkozások megadása elem használatával <References/>
A 2.5 előtt a fájlban .nuspec a felhasználó csak az összes keretrendszerhez hozzáadandó referenciafájlokat adhatja meg. A 2.5-ös új funkcióval a felhasználó létrehozhatja az <reference/> egyes támogatott platformok elemeit, például:
<references>
<group targetFramework="net45">
<reference file="a.dll" />
</group>
<group targetFramework="netcore45">
<reference file="b.dll" />
</group>
<group>
<reference file="c.dll" />
</group>
</references>
Az alábbi folyamat azt mutatja be, hogy a NuGet hogyan ad hozzá hivatkozásokat a projektekhez a .nuspec fájl alapján:
- Keresse meg a
libcél keretrendszernek megfelelő mappát, és kérje le a szerelvények listáját a mappából - Külön keresse meg a célkeretrendszernek megfelelő hivatkozási csoportot, és kérje le az adott csoportból az összeállítások listáját. A célkeret nélküli referenciacsoport a tartalék csoport.
- Keresse meg a két lista metszetét, és használja ezt a hivatkozást a hozzáadáshoz
Ez az új funkció lehetővé teszi a csomagkészítők számára, hogy a Hivatkozások funkcióval különböző keretrendszerekre alkalmazzák a szerelvények részhalmazait, ha egyébként több lib mappában kellene duplikált szerelvényeket hordozniuk.
Megjegyzés: jelenleg nuget.exe csomaggal kell használnia ezt a funkciót; A NuGet Package Explorer még nem támogatja.
Az Összes frissítése gomb az összes csomag egyidejű frissítésének engedélyezéséhez
Sokan ismerik az "Update-Package" PowerShell-parancsmagot az összes csomag frissítéséhez; Most már van egy egyszerű módja annak, hogy ezt a felhasználói felületen keresztül is.
A funkció kipróbálásához:
- Új ASP.NET MVC-alkalmazás létrehozása
- Indítsa el a "NuGet-csomagok kezelése" párbeszédpanelt
- Válassza a "Frissítések" lehetőséget
- Kattintson az "Összes frissítése" gombra
Továbbfejlesztett projektreferenciák támogatása nuget.exe Csomaghoz
Most nuget.exe csomagparancsfolyamatok a következő szabályokkal hivatkoztak a projektekre:
- Ha a hivatkozott projekt rendelkezik megfelelő
.nuspecfájllal, például egy fájlproj1.nuspecneve ugyanabban a mappában van, mintproj1.csproja fájl, akkor a program függőségként adja hozzá a projektet a csomaghoz a fájlból.nuspecbeolvasott azonosító és verzió használatával. - Ellenkező esetben a hivatkozott projekt fájljai a csomagba vannak csomagolva. Ezután a projekt által hivatkozott projektek rekurzív módon lesznek feldolgozva ugyanazokkal a szabályokkal.
- A rendszer hozzáadja az összes DLL-t
.pdbés.exefájlt. - A rendszer minden más tartalomfájlt hozzáad.
- A rendszer minden függőséget egyesít.
Ez lehetővé teszi, hogy a hivatkozott projektek függőségként legyenek kezelve, ha van .nuspec fájl, különben a csomag részévé válik.
További részletek itt: [http://nuget.codeplex.com/workitem/936](http://nuget.codeplex.com/workitem/936)
"Minimális NuGet-verzió" tulajdonság hozzáadása csomagokhoz
A "minClientVersion" nevű új metaadat-attribútum mostantól a csomag használatához szükséges minimális NuGet-ügyfélverziót jelezheti.
Ez a funkció segít a csomagkészítőnek annak megadásában, hogy egy csomag csak a NuGet egy adott verziója után fog működni. Mivel a NuGet 2.5 után új .nuspec funkciók jelennek meg, a csomagok minimális NuGet-verziót igényelhetnek.
<metadata minClientVersion="2.6">
Ha a felhasználó telepítette a NuGet 2.5-öt, és egy csomag 2.6-os igényeként van azonosítva, a rendszer vizuális jelzéseket ad a felhasználónak, jelezve, hogy a csomag nem telepíthető. A felhasználó ezután a NuGet verziójának frissítéséhez lesz irányítva.
Ez javít az eddigi élményen, ahol a csomagok elkezdenek települni, de aztán sikertelenek lesznek, jelezve, hogy ismeretlen sémaverzió lett azonosítva.
A függőségek már nem frissülnek szükségtelenül a csomag telepítése során
A NuGet 2.5 előtt, amikor a projektben már telepített csomagtól függő csomagot telepítettek, a függőség az új telepítés részeként frissül, még akkor is, ha a meglévő verzió megfelel a függőségnek.
A NuGet 2.5-től kezdődően, ha egy függőségi verzió már teljesül, a függőség nem frissül a többi csomagtelepítés során.
A forgatókönyv:
- A forrásadattár az 1.0.0-s és 1.0.2-es verziójú B csomagot tartalmazza. Az A csomagot is tartalmazza, amely B-re függ (>= 1.0.0).
- Tegyük fel, hogy az aktuális projektben már telepítve van a B csomag 1.0.0-s verziója. Most telepíteni szeretné az A csomagot.
A NuGet 2.2-ben és régebbi verzióiban:
- Az A csomag telepítésekor a NuGet automatikusan frissíti a B-t az 1.0.2-es verzióra, annak ellenére, hogy a meglévő 1.0.0-s verzió már megfelel a függőségi verzió korlátozásának, ami >= 1.0.0.
A NuGet 2.5-ös és újabb verzióban:
- A NuGet a továbbiakban nem frissíti a B-t, mert azt észleli, hogy a meglévő 1.0.0-s verzió megfelel a függőségi verzió korlátozásának.
További információ a változás hátteréről a részletes [work item](https://nuget.codeplex.com/workitem/1681) elolvasásával, valamint a kapcsolódó [discussion thread](https://nuget.codeplex.com/discussions/436712) segítségével érhető el.
nuget.exe http-kéréseket ad ki részletes részletességgel
Ha hibát keres a nuget.exe-ben, vagy csak kíváncsi arra, hogy milyen HTTP-kérések történnek a műveletek során, a '-verbosity detailed' kapcsoló mostantól az összes HTTP-kérést megjeleníti.
nuget.exe push mostantól támogatja az UNC és mappa típusú forrásokat
A NuGet 2.5 előtt, ha egy UNC-útvonalon vagy helyi mappán alapuló csomagforrásra próbálta futtatni a "nuget.exe leküldés" parancsot, a leküldés sikertelen lesz. A nemrég hozzáadott hierarchikus konfigurációs funkcióval általánossá vált, hogy nuget.exe unc/folder forrást vagy HTTP-alapú NuGet-gyűjteményt kell céloznia.
A NuGet 2.5-től kezdve, ha nuget.exe azonosít egy UNC/mappaforrást, akkor a fájl másolása a forrásba történik.
A következő parancs mostantól működik:
nuget push -source \\mycompany\repo\ mypackage.1.0.0.nupkg
nuget.exe explicit módon megadott konfigurációs fájlokat támogat
nuget.exe konfigurációhoz hozzáférő parancsok (a "spec" és a "pack" kivételével) mostantól támogatnak egy új "-ConfigFile" beállítást, amely egy adott konfigurációs fájlt kényszerít ki az alapértelmezett konfigurációs fájl helyett a %AppData%\nuget\Nuget.Config webhelyen.
Példa:
nuget sources add -name test -source http://test -ConfigFile C:\test\.nuget\Nuget.Config
Natív projektek támogatása
A NuGet 2.5-ben a NuGet-eszközkészlet natív projektekhez érhető el a Visual Studióban. A legtöbb natív csomag a fenti MSBuild import funkciót fogja használni a CoApp-projekt által létrehozott eszköz használatával. További információkért olvassa el az eszköz részleteit a coapp.org webhelyén.
A "native" célkeretrendszer neve bevezetésre került, hogy a csomagok fájlokat tartalmazhassanak a \build, \content és \tools mappákban, amikor a csomagot egy natív projektbe telepítik. A "lib" mappa nem használható natív projektekhez.