Sdílet prostřednictvím


Referenční informace k NuGetu a sadě SDK jako odkazu na projekt

Tento článek je navržený tak, aby vývojářům pomohl rozhodnout se, jestli se má software zabalit jako balíček NuGet nebo jako sada SDK (Software Development Kit). Konkrétně popisuje rozdíly mezi těmito dvěma, když jsou odkazovány v projektu sady Visual Studio.

  • NuGet je opensourcový systém pro správu balíčků, který zjednodušuje proces začlenění knihoven do projektu. Pro .NET (včetně .NET Core) je NuGet mechanismus pro sdílení kódu podporovaný Microsoftem. NuGet definuje, jak se balíčky pro .NET vytvářejí, hostují a využívají, a poskytují nástroje pro každou z těchto rolí. V sadě Visual Studio přidáte balíčky NuGet do projektu pomocí uživatelského rozhraní Správce balíčků.

  • Sada SDK je kolekce souborů, se kterými Sada Visual Studio pracuje jako s jednou referenční položkou. Dialogové okno Správce odkazů v sadě Visual Studio obsahuje seznam všech sad SDK, které jsou relevantní pro aktuální projekt, když zvolíte Přidat odkaz. Když do projektu přidáte sadu SDK, budete mít přístup ke všemu obsahu této sady SDK prostřednictvím technologie IntelliSense, okna sady nástrojů, návrhářů, prohlížeče objektů, nástroje MSBuild, nasazení, ladění a balení.

Jaký mechanismus mám použít?

Následující tabulka vám pomůže porovnat odkazující funkce sady SDK s odkazujícími funkcemi NuGetu.

Funkce Podpora SDK Poznámky k sadě SDK Podpora NuGetu Poznámky NuGet
Mechanismus odkazuje na jednu entitu a pak jsou k dispozici všechny soubory a funkce. Y Sadu SDK přidáte pomocí dialogového okna Správce odkazů a všechny soubory a funkce jsou k dispozici během vývojového pracovního postupu. Y
Nástroj MSBuild automaticky využívá sestavení a soubory metadat systému Windows (.winmd). Y Odkazy v sadě SDK se automaticky předávají kompilátoru. Y
Nástroj MSBuild automaticky využívá soubory .h nebo .lib. Y Soubor SDKName.props říká sadě Visual Studio, jak nastavit adresář Visual C++ a tak dále pro automatickou spotřebu souborů .h nebo .lib . N
Nástroj MSBuild automaticky využívá soubory .js nebo .css . Y V Průzkumník řešení můžete rozbalit referenční uzel sady JavaScript SDK, abyste zobrazili jednotlivé soubory .js nebo .css a potom vygenerovali <source include/> značky přetažením těchto souborů do zdrojových souborů. Sada SDK podporuje F5 a automatické nastavení balíčků. Y
Nástroj MSBuild automaticky přidá ovládací prvek do panelu nástrojů. Y Sada nástrojů může využívat sady SDK a zobrazovat ovládací prvky na zadaných kartách. N
Mechanismus podporuje Instalační program pro Visual Studio pro rozšíření (VSIX). Y VSIX má speciální manifest a logiku pro vytváření balíčků SDK. Y VSIX lze vložit do jiného instalačního programu.
Prohlížeč objektů vyčísluje odkazy. Y Prohlížeč objektů automaticky získá seznam odkazů v sadách SDK a vytvoří jejich výčet. N
Soubory a odkazy se automaticky přidají do dialogového okna Správce odkazů (odkazy nápovědy atd.) Y Dialogové okno Správce odkazů automaticky vypíše sady SDK spolu s odkazy nápovědy a seznamem závislostí sady SDK. N NuGet poskytuje vlastní dialogové okno Spravovat balíčky NuGet.
Mechanismus podporuje více architektur. Y Sady SDK můžou dodávat více konfigurací. Nástroj MSBuild využívá příslušné soubory pro každou konfiguraci projektu. N
Mechanismus podporuje více konfigurací. Y Sady SDK můžou dodávat více konfigurací. V závislosti na architektuře projektu nástroj MSBuild využívá příslušné soubory pro každou architekturu projektu. N
Mechanismus může určit, že se nemá kopírovat. Y V závislosti na tom, jestli se soubory zahodí do složky \redist nebo \designtime , můžete určit, které soubory se mají kopírovat do balíčku používané aplikace. N Deklarujete, které soubory se mají kopírovat v manifestu balíčku.
Obsah se zobrazí v lokalizovaných souborech. Y Lokalizované dokumenty XML v sadách SDK se automaticky zahrnou pro lepší prostředí v době návrhu. N
NÁSTROJ MSBuild podporuje současné využívání více verzí sady SDK. Y Sada SDK podporuje současné využívání více verzí. N Na to se neodkazuje. V projektu nemůžete mít současně více než jednu verzi souborů NuGet.
Mechanismus podporuje zadávání příslušných cílových architektur, verzí sady Visual Studio a typů projektů. Y Dialogové okno Správce odkazů a sada nástrojů zobrazují pouze sady SDK , které se vztahují na projekt, aby uživatelé mohli snadněji zvolit příslušné sady SDK. Y (částečná) Pivot je cílová architektura. Uživatelské rozhraní neobsahuje žádné filtrování. V době instalace může vrátit chybu.
Mechanismus podporuje zadání registračních údajů pro nativní winMD. Y Korelaci mezi souborem .winmd a souborem .dll můžete zadat v souboru SDKManifest.xml. N
Mechanismus podporuje zadávání závislostí na jiných sadách SDK. Y Sada SDK uživatele pouze upozorní; uživatel je stále musí nainstalovat a odkazovat na ně ručně. Y NuGet je automaticky načítá; uživatel není upozorněn.
Mechanismus se integruje s koncepty Microsoft Storu, jako jsou manifest aplikace a ID rozhraní. Y Sada SDK musí předat koncepty specifické pro Store, aby balení a F5 správně fungovaly se sadami SDK, které jsou k dispozici v úložištiStore. N
Mechanismus se integruje s kanálem ladění aplikací pro aplikace pro Windows 8.x Store. Y Sada SDK musí předat koncepty specifické pro úložiště, aby balení a F5 správně fungovaly se sadami SDK dostupnými ve Storu. Y Obsah NuGet se stane součástí projektu. Není potřeba brát v úvahu žádné zvláštní požadavky F5.
Mechanismus se integruje s manifesty aplikací. Y Sada SDK musí předat koncepty specifické pro úložiště, aby balení a F5 správně fungovaly se sadami SDK dostupnými ve Storu. Y Obsah NuGet se stane součástí projektu. Není potřeba brát v úvahu žádné zvláštní požadavky F5.
Mechanismus nasadí jiné než referenční soubory (například nasaďte testovací architekturu, na které se mají spouštět testy aplikací pro Windows 8.x Store). Y Pokud soubory přehodíte do složky \redist , soubory se automaticky nasadí. Y
Mechanismus automaticky přidá sady SDK platformy v integrovaném vývojovém prostředí sady Visual Studio. Y Pokud sadu Windows 8 SDK nebo Sadu Windows Telefon SDK v určitém umístění s konkrétním rozložením odstraníte, sada SDK se automaticky integruje se všemi funkcemi sady Visual Studio. N
Mechanismus podporuje čistý vývojářský počítač. (To znamená, že není nutná žádná instalace a jednoduché načtení ze správy zdrojového kódu bude fungovat.) N Vzhledem k tomu, že odkazujete na sadu SDK, musíte své řešení a sadu SDK vrátit se změnami samostatně. Sadu SDK můžete vrátit se změnami ze dvou výchozích umístění, ze kterých MSBuild iteruje sady SDK (podrobnosti najdete v tématu Vytvoření sady Sdk pro vývoj softwaru). Pokud se vlastní umístění skládá ze sad SDK, můžete jako alternativu zadat následující kód v souboru projektu:

<PropertyGroup>
  <SDKReferenceDirectoryRoot>
  C:\MySDKs
  </SDKReferenceDirectoryRoot>
</PropertyGroup>

Pak zkontrolujte sady SDK do daného umístění.
Y Řešení si můžete prohlédnout a Visual Studio okamžitě rozpozná a bude na souborech fungovat.
Můžete se připojit k rozsáhlé komunitě autorů balíčků. Komunita je nová. Y
Můžete se připojit k rozsáhlé komunitě příjemců balíčků. Komunita je nová. Y
Můžete se připojit k ekosystému partnerů (vlastní galerie, úložiště atd.). Dostupná úložiště zahrnují Visual Studio Marketplace, Microsoft Download Center a Microsoft Store. Y
Tento mechanismus se integruje se servery sestavení kontinuální integrace pro vytváření balíčků i spotřebu. Y Sada SDK musí předat vrácené umístění se změnami (vlastnost SDKReferenceDirectoryRoot) na příkazovém řádku do nástroje MSBuild. Y
Mechanismus podporuje stabilní i předběžné verze balíčků. Y Sada SDK podporuje přidávání odkazů na více verzí. Y
Mechanismus podporuje automatickou aktualizaci nainstalovaných balíčků. Y Pokud se dodává jako VSIX nebo část automatických aktualizací sady Visual Studio, sada SDK poskytuje automatická oznámení. Y
Mechanismus obsahuje samostatný soubor .exe pro vytváření a využívání balíčků. Y Sada SDK obsahuje soubor MSBuild.exe. Y
Balíčky je možné zkontrolovat ve správě verzí. Y Nemůžete vrátit se změnami nic mimo uzel Dokumenty, což znamená, že sady SDK rozšíření nemusí být vráceny se změnami. Velikost sady SDK rozšíření může být velká. Y
K vytváření a využívání balíčků můžete použít rozhraní PowerShellu. Y (spotřeba), N (vytvoření) Žádné nástroje pro vytvoření sady SDK. Spotřeba spouští nástroj MSBuild na příkazovém řádku. Y
Balíček symbolů můžete použít k podpoře ladění. Y Pokud soubory .pdb v sadě SDK zahodíte, soubory se automaticky vyberou. Y
Mechanismus podporuje automatické aktualizace správce balíčků. Sada SDK se reviduje pomocí nástroje MSBuild. Y
Mechanismus podporuje jednoduchý formát manifestu. Y SDKManifest.xml podporuje mnoho atributů, ale malá podmnožina je obvykle nutná. Y
Mechanismus je k dispozici pro všechny edice sady Visual Studio. Y Sada SDK podporuje všechny edice sady Visual Studio. Y NuGet podporuje všechny edice sady Visual Studio.