Použití nástroje LibMan s ASP.NET Core v sadě Visual Studio
Autor: Scott Addie
Visual Studio má integrovanou podporu pro Knihovnu LibMan v projektech ASP.NET Core, včetně:
- Podpora konfigurace a spouštění operací obnovení LibMan v sestavení
- Položky nabídky pro aktivaci operací obnovení a čištění knihovny LibMan
- Dialogové okno Hledání pro hledání knihoven a přidání souborů do projektu
- Podpora úprav souboru
libman.json
manifestu LibMan
Zobrazení nebo stažení ukázkového kódu (postup stažení)
Požadavky
- Visual Studio 2019 s úlohou vývoje pro ASP.NET a web
Přidání souborů knihovny
Soubory knihovny je možné přidat do projektu ASP.NET Core dvěma různými způsoby:
- Použití dialogového okna Přidat klientskou knihovnu
- Ruční konfigurace položek souboru manifestu LibMan
Použití dialogového okna Přidat klientskou knihovnu
Pokud chcete nainstalovat knihovnu na straně klienta, postupujte takto:
V Průzkumník řešení klikněte pravým tlačítkem na složku projektu, do které se mají soubory přidat. Zvolte Přidat>klientskou knihovnu. Zobrazí se dialogové okno Přidat klientskou knihovnu :
V rozevíracím seznamu Poskytovatel vyberte zprostředkovatele knihovny. CDNJS je výchozí zprostředkovatel.
Do textového pole Knihovna zadejte název knihovny, který chcete načíst. IntelliSense poskytuje seznam knihoven začínající zadaným textem.
Vyberte knihovnu ze seznamu IntelliSense. Všimněte si, že název knihovny je příponou
@
se symbolem a nejnovější stabilní verzí známou pro vybraného poskytovatele.Rozhodněte se, které soubory chcete zahrnout:
- Pokud chcete zahrnout všechny soubory knihovny, vyberte přepínač Zahrnout všechny soubory knihovny.
- Pokud chcete zahrnout podmnožinu souborů knihovny, vyberte přepínač Zvolit konkrétní soubory. Při výběru přepínače je strom selektoru souborů povolen. Zaškrtněte políčka vlevo od názvů souborů, které chcete stáhnout.
Zadejte složku projektu pro ukládání souborů do textového pole Cílové umístění . Podle doporučení uložte každou knihovnu do samostatné složky.
Navrhovaná složka Cílové umístění je založená na umístění, ze kterého se dialog spustil:
- Pokud se spustí z kořenového adresáře projektu:
- Wwwroot/lib se používá, pokud existuje wwwroot .
- Lib se používá, pokud neexistuje wwwroot .
- Pokud se spustí ze složky projektu, použije se odpovídající název složky.
Návrh složky má příponu s názvem knihovny. Následující tabulka ukazuje návrhy složek při instalaci jQuery v Razor projektu Pages.
Umístění spuštění Navrhovaná složka kořen projektu (pokud existuje wwwroot ) wwwroot/lib/jquery/ kořen projektu (pokud neexistuje wwwroot ) lib/jquery/ Složka Pages v projektu Stránky/jquery/ - Pokud se spustí z kořenového adresáře projektu:
Kliknutím na tlačítko Instalovat stáhněte soubory podle konfigurace v
libman.json
souboru .Podrobnosti o instalaci najdete v informačním kanálu Správce knihovny v okně Výstup . Příklad:
Restore operation started... Restoring libraries for project LibManSample Restoring library jquery@3.3.1... (LibManSample) wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample) Restore operation completed 1 libraries restored in 2.32 seconds
Ruční konfigurace položek souboru manifestu LibMan
Všechny operace LibMan v sadě Visual Studio jsou založené na obsahu manifestu LibMan kořenového projektu (libman.json
). Můžete ručně upravit libman.json
konfiguraci souborů knihovny pro projekt. Visual Studio obnoví všechny soubory knihovny po libman.json
uložení.
Pokud chcete otevřít libman.json
úpravy, existují následující možnosti:
- Poklikejte na
libman.json
soubor v Průzkumník řešení. - Klikněte pravým tlačítkem na projekt v Průzkumník řešení a vyberte Spravovat knihovny na straně klienta. †
- V nabídce Projektu sady Visual Studio vyberte Spravovat knihovny na straně klienta. †
† Pokud libman.json
soubor v kořenovém adresáři projektu ještě neexistuje, vytvoří se s výchozím obsahem šablony položky.
Visual Studio nabízí bohatou podporu úprav JSON, jako je zabarvení, formátování, IntelliSense a ověřování schématu. Schéma JSON manifestu LibMan se nachází na adrese https://json.schemastore.org/libman.
S následujícím souborem manifestu načte LibMan soubory podle konfigurace definované ve libraries
vlastnosti. Vysvětlení literálů objektů definovaných v následujících libraries
:
- Z poskytovatele CDNJS se načte podmnožina jQuery verze 3.3.1. Podmnožina je definována
files
ve vlastnosti –jquery.js
jquery.min.js
a jquery.min.map. Soubory se umístí do složky wwwroot/lib/jquery projektu. - Celá část bootstrap verze 4.1.3 se načte a umístí do složky wwwroot/lib/bootstrap . Vlastnost literálu
provider
objektudefaultProvider
přepíše hodnotu vlastnosti. LibMan načte soubory Bootstrap od poskytovatele unpkg. - Podmnožina Lodash byla schválena řídícím orgánem v rámci organizace. Soubory
lodash.js
alodash.min.js
soubory se načítají z místního systému souborů v umístění C:\temp\lodash\. Soubory se zkopírují do složky wwwroot/lib/lodash projektu.
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.3.1",
"files": [
"jquery.min.js",
"jquery.js",
"jquery.min.map"
],
"destination": "wwwroot/lib/jquery/"
},
{
"provider": "unpkg",
"library": "bootstrap@4.1.3",
"destination": "wwwroot/lib/bootstrap/"
},
{
"provider": "filesystem",
"library": "C:\\temp\\lodash\\",
"files": [
"lodash.js",
"lodash.min.js"
],
"destination": "wwwroot/lib/lodash/"
}
]
}
Poznámka:
Knihovna LibMan podporuje pouze jednu verzi každé knihovny od každého zprostředkovatele. Soubor libman.json
selže s ověřením schématu, pokud obsahuje dvě knihovny se stejným názvem knihovny pro daného zprostředkovatele.
Obnovení souborů knihovny
Pokud chcete obnovit soubory knihovny ze sady Visual Studio, musí být v kořenovém adresáři projektu platný libman.json
soubor. Obnovené soubory jsou umístěny v projektu v umístění určeném pro každou knihovnu.
Soubory knihovny je možné obnovit v projektu ASP.NET Core dvěma způsoby:
Obnovení souborů během sestavení
Knihovna LibMan může obnovit definované soubory knihovny jako součást procesu sestavení. Ve výchozím nastavení je chování obnovení na sestavení zakázané.
Povolení a otestování chování obnovení při sestavení:
Klikněte pravým tlačítkem na
libman.json
Průzkumník řešení a v místní nabídce vyberte Povolit obnovit knihovny na straně klienta.Po zobrazení výzvy k instalaci balíčku NuGet klikněte na tlačítko Ano. Do projektu se přidá balíček NuGet Microsoft.Web.LibraryManager.Build :
<PackageReference Include="Microsoft.Web.LibraryManager.Build" Version="1.0.113" />
Vytvořte projekt, abyste potvrdili, že dojde k obnovení souboru LibMan. Balíček
Microsoft.Web.LibraryManager.Build
vloží cíl MSBuild, který spouští Knihovnu LibMan během operace sestavení projektu.Zkontrolujte kanál sestavení okna Výstup protokolu aktivit LibMan:
1>------ Build started: Project: LibManSample, Configuration: Debug Any CPU ------ 1> 1>Restore operation started... 1>Restoring library jquery@3.3.1... 1>Restoring library bootstrap@4.1.3... 1> 1>2 libraries restored in 10.66 seconds 1>LibManSample -> C:\LibManSample\bin\Debug\netcoreapp2.1\LibManSample.dll ========== Build: 1 succeeded, 0 failed, 0 up-to-date, 0 skipped ==========
Pokud je povolené chování obnovení při sestavení, zobrazí se v libman.json
místní nabídce možnost Zakázat obnovení knihoven na straně klienta. Výběrem této možnosti odeberete odkaz na Microsoft.Web.LibraryManager.Build
balíček ze souboru projektu. V důsledku toho se knihovny na straně klienta už v každém sestavení neobnoví.
Bez ohledu na nastavení obnovení na sestavení můžete ručně provést obnovení kdykoli z libman.json
místní nabídky. Další informace naleznete v tématu Obnovení souborů ručně.
Ruční obnovení souborů
Ruční obnovení souborů knihovny:
- Pro všechny projekty v řešení:
- Klikněte pravým tlačítkem na název řešení v Průzkumník řešení.
- Vyberte možnost Obnovit knihovny na straně klienta.
- Pro konkrétní projekt:
- Klikněte pravým tlačítkem myši na
libman.json
soubor v Průzkumník řešení. - Vyberte možnost Obnovit knihovny na straně klienta.
- Klikněte pravým tlačítkem myši na
Zatímco je operace obnovení spuštěná:
Ikona Centrum stavu úloh (TSC) na stavovém řádku sady Visual Studio bude animované a přečte operaci obnovení. Kliknutím na ikonu se otevře popis se seznamem známých úloh na pozadí.
Zprávy se odešlou na stavový řádek a informační kanál Správce knihovny okna Výstup . Příklad:
Restore operation started... Restoring libraries for project LibManSample Restoring library jquery@3.3.1... (LibManSample) wwwroot/lib/jquery/jquery.min.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.js written to destination (LibManSample) wwwroot/lib/jquery/jquery.min.map written to destination (LibManSample) Restore operation completed 1 libraries restored in 2.32 seconds
Odstranění souborů knihovny
Pokud chcete provést čistou operaci, která odstraní dříve obnovené soubory knihovny v sadě Visual Studio:
- Klikněte pravým tlačítkem myši na
libman.json
soubor v Průzkumník řešení. - Vyberte možnost Vyčistit knihovny na straně klienta.
Aby se zabránilo neúmyslnému odebrání souborů mimo knihovnu, čistá operace neodstraní celé adresáře. Odebere jenom soubory, které byly součástí předchozího obnovení.
Během běhu čisté operace:
- Ikona TSC na stavovém řádku sady Visual Studio bude animované a přečte operace klientské knihovny spuštěná. Kliknutím na ikonu se otevře popis se seznamem známých úloh na pozadí.
- Zprávy se posílají na stavový řádek a informační kanál Správce knihovny v okně Výstup . Příklad:
Clean libraries operation started...
Clean libraries operation completed
2 libraries were successfully deleted in 1.91 secs
Čistá operace odstraní pouze soubory z projektu. Soubory knihovny zůstanou v mezipaměti pro rychlejší načítání budoucích operací obnovení. Ke správě souborů knihovny uložených v mezipaměti místního počítače použijte rozhraní příkazového řádku LibMan.
Odinstalace souborů knihovny
Odinstalace souborů knihovny:
Otevře záznam typu
libman.json
.Umístěte kurzor uvnitř odpovídajícího
libraries
literálu objektu.Klikněte na ikonu žárovky, která se zobrazí na levém okraji, a vyberte Odinstalovat <library_name>@<library_version>:
Případně můžete ručně upravit a uložit manifest LibMan (libman.json
). Operace obnovení se spustí při uložení souboru. Soubory knihovny, které už nejsou definovány, libman.json
se z projektu odeberou.
Aktualizace verze knihovny
Kontrola aktualizované verze knihovny:
- Otevře záznam typu
libman.json
. - Umístěte kurzor uvnitř odpovídajícího
libraries
literálu objektu. - Klikněte na ikonu žárovky, která se zobrazí na levém okraji. Najeďte myší na Kontrola aktualizací.
Knihovna LibMan vyhledá novější verzi knihovny, než je nainstalovaná verze. Může dojít k následujícím výsledkům:
Pokud je už nainstalovaná nejnovější verze, zobrazí se zpráva Nenašly se žádné aktualizace.
Pokud ještě není nainstalovaná nejnovější stabilní verze, zobrazí se.
Pokud je k dispozici předběžná verze, než je nainstalovaná verze, zobrazí se předběžná verze.
Pokud chcete downgradovat na starší verzi knihovny, upravte libman.json
soubor ručně. Při uložení souboru operace obnovení LibMan:
- Odebere redundantní soubory z předchozí verze.
- Přidá nové a aktualizované soubory z nové verze.