Jak: vytvoření Software Development Kit.
Software development kit (SDK) je kolekce souborů, které Visual Studio považuje za odkaz na jednu položku.Reference Manager dialogovém okně jsou uvedeny všechny sady SDK, které se vztahují k projektu, který vyvolá Reference Manager dialogové okno.Přidáte-li sadu SDK do projektu, jsou k dispozici prostřednictvím technologie IntelliSense, veškerý obsah nástrojů, návrháři, Prohlížeč objektů, sestavení, nasazení, ladění a balení.
Existují dva typy sady SDK:
Sady Platform SDK jsou povinné součásti pro vývoj aplikací pro platformu.Například Windows 8 SDK je povinna vypracovat Windows Store apps.
Rozšíření sady SDK jsou volitelné součásti, které rozšířit platformu, ale nejsou povinné pro vývoj aplikací pro tuto platformu.
Následující oddíly popisují obecné infrastruktury SDK a jak vytvořit platform SDK a rozšíření sady SDK.
Zástupný název cílové platformy
Sady Platform SDK
Rozšířená knihovna SDKs
Zástupný název cílové platformy
Visual Studio 2012podporuje dvě nové vlastnosti:
Cílová platforma identifikátor (Stopami): platné hodnoty této vlastnosti se skládají z různých platforem, u kterých při vývoji softwaru.Systém Windows je příkladem platformu.
Cílová verze platformy (TPV): Tato vlastnost určuje verzi cílovou platformu.Například pro Windows 8, TPV je 8.0 a Stopami systému Windows.
Dohromady tvoří tyto dvě vlastnosti cílové platformy zástupný název (TPM), která tvoří základ pro Windows 8 a SDK odkazování na infrastrukturu.Například čipu TPM k Windows 8 je "systému Windows, verze = 8.0".
Sady Platform SDK
Sady Platform SDK jsou potřebné k vývoji aplikací pro platformu.Například Windows 8 SDK je potřebné k vývoji aplikací pro Windows 8.
Instalace
Všechny platformy sady SDK bude nainstalována na HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallationFolder = [SDK root].V důsledku toho Windows 8 nainstalované sady SDK na HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0.
Rozložení
Sady Platform SDK, bude mít následující rozložení:
\[InstallationFolder root]
SDKManifest.xml
\References
\[config]
\[arch]
\DesignTime
\[config]
\[arch]
Uzel |
Description |
---|---|
Odkazy na složky |
Obsahuje binární soubory, které obsahují rozhraní API, která mohou být kódovány proti.Ty mohou zahrnovat soubory metadat systému Windows (WinMD) nebo sestavení. |
Složka DesignTime |
Obsahuje soubory, které jsou potřebné pouze v době/ladění před-run.Ty mohou zahrnovat XML dokumentů, knihovny, záhlaví, binární soubory nástrojů návrhu, MSBuild artefakty a tak dále
Upozornění
Dokumenty XML by v ideálním případě by měla být umístěna ve složce \DesignTime, ale dokumenty XML pro odkazy budou i nadále umístí vedle odkaz na soubor v Visual Studio 2012.Například dokument XML pro referenční \References\[config]\[arch]\sample.dll bude \References\[config]\[arch]\sample.xml a lokalizované verze tohoto dokumentu bude \References\[config]\[arch]\[locale]\sample.xml.
|
Konfigurace složky |
Může být pouze tři složky: ladění, maloobchod a CommonConfiguration.Autoři SDK můžete umístit své soubory pod CommonConfiguration, je-li stejnou sadu souborů SDK by spotřebovány, bez ohledu na konfiguraci, která spotřebiteli SDK zaměří. |
Architektura složky |
Všechny podporované architektury složky mohou existovat.Visual Studio 2012podporuje následující typy architektury: x 86, x 64, ARM a neutrální.Poznámka: Win32 mapuje na procesoru x 86 a AnyCPU mapuje neutrální. V .NET Framework 4.5, nástroj MSBuild je pevně hledat pouze v rámci \CommonConfiguration\neutral Platform SDK. |
SDKManifest.xml |
Tento soubor popisuje, jak aplikace Visual Studio by měl spotřebovat v sadě SDK.Podívejte se na manifestu SDK pro Windows 8:
DisplayName (Zobrazované jméno)Hodnota, která zobrazí prohlížeč objektů v seznamu procházení.
PlatformIdentityExistence tohoto atributu říká Visual Studio a nástroj MSBuild, sady SDK je sada SDK pro platformy a zkopírovaný odkazy přidané z něj by neměly být místně.
TargetFrameworkTento atribut je použit v aplikaci Visual Studio, aby bylo zajištěno, že pouze projekty, jejichž cílem stejné předlohy podle hodnoty tohoto atributu lze využívat v sadě SDK.
MinVSVersionTento atribut se používá v aplikaci Visual Studio využívat pouze SDK, které na něj vztahují.
OdkazTento atribut musí být určen pro odkazy, které obsahují ovládací prvky.Chcete-li zobrazit informace o tom, jak určit, zda odkaz obsahuje ovládací prvky viz níže.
|
V aplikaci Visual Studio
Správce odkaz vypadat na zástupný název cílové platformy (TPM) a potom nahradit hodnoty vlastností v HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallFolder = [SDK root] Chcete-li zjistit umístění na disku sady Platform SDK.Reference Manager bude potom:
Otevřete Manifest SDK k určení, zda platform SDK je použitelný pro verze aplikace Visual Studio, ve kterém byla vyvolána správce referencí a zda je použitelné podle cílové rozhraní projektu vyvolání Reference Manager platform SDK.Pokud platform SDK je použitelná v obou výpočtech, Reference Manager používat vlastnost Cílová platforma identifikátor pro název karty, ve kterém chcete vytvořit výčet odkazy platform SDK.Je-li platform SDK nebyl nalezen na disku, budou stále zobrazeny na kartě, ale v prostředním podokně se zobrazí zpráva "SDK [Stopami] nebyl nalezen v počítači".
Vytvořit výčet všech odkazů, které jsou uvedené ve složce \references\CommonConfiguration\neutral [InstallFolder root] v [Stopami] | Základní kartu.
Uživatele můžete přidat odkazy v sadě Platform SDK do svých projektů a spotřebovat v kódu, jako kdyby všechny sestavení nebo WinMD.
Rozšířená knihovna SDKs
Rozšíření sady SDK rozšířit platformu, ale nejsou povinné pro vývoj aplikací pro tuto platformu.Například rozšíření map Bingu a SDK služby Windows Live Windows 8 ale není nutný pro všechny vývojáře pro daný operační systém.
Instalace
Rozšíření sady SDK můžete umístit v jednom ze čtyř poloh:
\Program Files\Microsoft SDKs\ [Stopami] \v [TPV] \ExtensionSDKs
\V [TPV] \ExtensionSDKs \Users\[USERNAME]\AppData\Local\Microsoft SDKs\ [Stopami]
V souboru projektu jako <PropertyGroup><SDKReferenceDirectoryRoot>dir1;dir2</SDKReferenceDirectoryRoot></PropertyGroup> kde dir1 a dir2 identifikovat všechny dvě místa na disku
HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK root], kde je [SDK root] [cesta k sadě SDK] \ [SDKName] \ [SDKVersion] \
Pro první tři místa je zapotřebí žádné klíče registru.Rozšíření sady SDK můžete přetáhnout pouze místo celého, specifické pro uživatele nebo vlastní a Visual Studio jednoduše zvedněte sady SDK.Pokud žádný z těchto mechanismů je vhodný, můžete určit vlastní umístění v sadě SDK s použitím cesty registru na čtvrtém místě.
Rozložení
Rozšíření sady SDK, bude mít následující rozložení:
\[ExtensionSDKs root]
\[SDKName]
\[SDKVersion]
SDKManifest.xml
\References
\[config]
\[arch]
\Redist
\[config]
\[arch]
\DesignTime
\[config]
\[arch]
Uzel |
Description |
---|---|
\[SDKName]\[SDKVersion] |
Tvoří identitu rozšíření SDK.Jinými slovy název a verzi rozšíření sady SDK je odvozen z odpovídající názvy složek v cestě ke kořenové složce SDK.Nástroj MSBuild využívá tato identita najít v sadě SDK na disku a sada Visual Studio zobrazí tato identita v Vlastnosti okna a správce referencí. |
Odkazy na složky |
Se skládá z binárních souborů, které obsahují rozhraní API, která mohou být kódovány proti.Může se jednat o soubory s metadaty systému Windows (WinMD) nebo sestavení. |
Složce Redist |
Obsahuje soubory, které jsou nutné pro/ladění za běhu a by měla získat dodávány jako součást aplikace uživatele.Platí dvě pravidla:
|
Složka DesignTime |
Obsahuje soubory, které jsou pouze potřebné/ladění před-run čas a neměli dodávány jako součást aplikace uživatele.Může se jednat o XML dokumentů, knihovny, záhlaví, binární soubory nástrojů návrhu, MSBuild artefakty a tak dále.
Upozornění
SDK, která je určena pro spotřebu projektu musí mít SDKNamesoubor PROPS.Následující kód ukazuje vzorek tohoto typu souboru.
Poznámka
Dokumenty XML by v ideálním případě by měla být umístěna ve složce \DesignTime, ale dokumenty XML pro odkazy budou i nadále umístí vedle odkaz na soubor v Visual Studio 2012.Například dokument XML pro referenční \References\[config]\[arch]\sample.dll bude \References\[config]\[arch]\sample.xml a lokalizované verze tohoto dokumentu bude \References\[config]\[arch]\[locale]\sample.xml.
|
Konfigurace složky |
Může být pouze tři složky: ladění, maloobchod a CommonConfiguration.Autoři SDK umístit soubory pod CommonConfiguration stejnou sadu souborů SDK by spotřebovány, bez ohledu na konfiguraci míří spotřebitele SDK. |
Architektura složky |
Všechny podporované architektury složky mohou existovat.Visual Studio 2012podporuje následující typy architektury: x 86, x 64, ARM, neutrální.Win32 mapuje na procesoru x 86 a AnyCPU mapuje neutrální. |
SDKManifest.xml |
Tento soubor popisuje, jak aplikace Visual Studio by měl spotřebovat v sadě SDK.Podívejte se na následující ukázkové SDK Manifest.
UzelDescription
DisplayName (Zobrazované jméno)Hodnota, která se zobrazí v správce referencí, Průzkumník řešení, Prohlížeč objektů a jiných umístění v uživatelském rozhraní sady Visual Studio.
ProductFamilyNameNázev produktu celkové SDK.Například knihovna Windows pro jazyk JavaScript (WinJS) SDK bude dodávat SDK s názvem "Microsoft.WinJS.1.0" a "Microsoft.WinJS.2.0", které patří do stejné rodiny produktů sady SDK, "Microsoft.WinJS".Tento atribut umožňuje Visual Studio a MSBuild pro dané připojení.Pokud tento atribut neexistuje, název sady SDK slouží jako název rodiny produktů.
FrameworkIdentityPlatí pouze pro knihovny komponent systému Windows.Hodnota tohoto atributu je vložen do manifestu aplikace náročné označující závislost na jednu nebo více knihoven komponent systému Windows.
TargetFrameworkHodnota použitá k určení, které jsou k dispozici v správce referencí a nástrojů SDK.Může se jednat o seznam oddělený středníkem zástupných názvů pro cílový rámec.Je-li zadáno více verzí stejné cílové rozhraní, Reference Manager nejnižší zadané verzi použít pro filtrování účely.Například pokud "rozhraní.NET Framework, verze = v2.0; Rozhraní.NET Framework, verze = v4.0 "není zadán, použije Správce referencí" rozhraní.NET Framework, verze 2.0 = ".Pokud je zadána konkrétní cílový rámec profil, pouze tento profil se použije referenční správce pro účely filtrování.Například, když "Silverlight, verze = v4.0, profil = WindowsPhone" je zadán, Reference Manager lze filtrovat pouze ve Windows Phone profilu; cílení na plném Frameworku 4.0 Silverlight projektu nebude naleznete v sadě SDK správce referencí.
MinVSVersionPoužít filtr, který SDK zobrazují v jednotlivých verzích sady Visual Studio.
AppliesTo
Hodnota použitá k určení, které SDK jsou k dispozici ve Správci odkaz zadáním příslušné typy projektů sady Visual Studio.V Visual Studio 2012, jsou rozpoznány devět hodnot: WindowsAppContainer VisualC, VB, CSharp, WindowsXAML, JavaScript, spravované a nativní.Pomocí sady SDK autora a ("+"), nebo ("|"), nikoli ("!") operátory specifikace přesně oboru typy projektů, které se vztahují k sadě SDK.
Poznámka
WindowsAppContainer identifikuje projekty pro Windows Store apps.
SupportPrefer32BitPodporované hodnoty jsou "True" a "False".Pokud je hodnota nastavena na hodnotu "True", výsledek je stejný, jako v případě, že nebyly nastaveny atribut; Výchozí předpoklad je, že Prefer32Bit je podporována.Pokud je hodnota nastavena na hodnotu "False", MSBuild chybovou zprávu pro Windows Store projekty (nebo upozornění pro stolní projekty) Pokud je projekt, který odkazuje SDK Prefer32Bit povolena.Další informace o Prefer32Bit naleznete v následujících tématech, v závislosti na vašem programovacím jazyce:
SupportedArchitecturesStředníkem oddělený seznam architektur, které podporuje sady SDK.Nástroj MSBuild zobrazí upozornění, pokud Cílová architektura SDK v náročné projektu není podporována.Pokud tento atribut není zadán, zobrazí nástroj MSBuild nikdy tento typ varování.
SupportsMultipleVersionsPokud je tento atribut nastaven na hodnotu Chyba nebo upozornění, MSBuild označuje, že stejný projekt nemůže odkazovat více verzí téže rodiny SDK.Je-li tento atribut neexistuje nebo je nastavena na Povolit, MSBuild nezobrazí tento druh chyby nebo upozornění.
Například aplikacePlatí pouze pro knihovny komponent systému Windows.Hodnota tohoto atributu Určuje cestu k app balíčky pro knihovny komponent systému Windows na disku a cesta je předán součást registrace součásti knihovny Windows během místního ladění.Konvence pro názvy souborů je [společnost].[Výrobek].[Architektura].[Konfigurace]..Appx [verze].Architektura a konfigurace jsou volitelné název atributu a hodnoty atributu, pokud nemohou být použity na knihovnu součást systému Windows.
CopyRedistToSubDirectoryAutor SDK můžete určit, kde budou soubory ve složce \redist kopírovány relativní ke kořenu balíček aplikace (to znamená umístění balíčku vybrané v průvodci vytvořit balíček aplikace) a kořenové rozložení runtime.Výchozí umístění je kořenový adresář aplikace balíčku a rozložení F5.
DependsOnOddělený seznam identit SDK, které definují sady SDK, na kterých závisí Tato sada SDK.Tento atribut se zobrazí v podokně podrobností Správce referencí.
MoreInfoObsahuje adresu URL pro webovou stránku, která poskytuje spotřebiteli v sadě SDK s pokyny.Tato hodnota se používá v odkaz Další informace v pravém podokně Správce referencí.
Odkaz na souborTento atribut musí být určeno pro pouze odkazy sestavení/WinMD, které obsahují ovládací prvky nebo jsou nativní WinMD, pro které je nutné zadat typ registrace.
Typ registraceTento atribut určuje WinMD registrace v manifestu aplikace a je požadován pro nativní WinMD, která má protějšek zavedení knihovny DLL.
Panel nástrojů
V následující tabulce jsou popsány podporované atributy.
Umístění paneluPříklad SDKManifest.xml (platí pro jakýkoli odkaz – WinMD nebo DLL)
Vytvořit výčet všech ovládacích prvků a umístit je do výchozí kategorie nástrojů.
Vytvořit výčet všech ovládacích prvků a umístit je pod názvem určité kategorie.
Výčet konkrétních ovládacích prvků a jejich umístění v rámci určité kategorie názvy.
Výčet konkrétních ovládacích prvků a umístit je pod názvy různých kategorií v prolnutí a Visual Studio.
Výčet konkrétních ovládacích prvků odlišně v prolnutí a Visual Studio.
Výčet konkrétních ovládacích prvků a umístit je pod společnou cestu Visual Studio nebo pouze ve skupině všechny ovládací prvky.
Výčet konkrétních ovládacích prvků a bez nich zobrazit pouze určitou sadu v ChooseItems v panelu nástrojů.
|
V aplikaci Visual Studio
Správce odkaz vypadat na zástupný název cílové platformy (TPM) a potom nahradit hodnoty vlastnosti \ExtensionSDKs \v [TPV] SDKs\ [Stopami] \Program Files\Microsoft, \Users\[username]\Microsoft SDKs\ [Stopami] \v [TPV] \ExtensionSDKs a \ExtensionSDKs\ \v [TPV] HKLM\Software\Microsoft\Microsoft SDKs\ [Stopami] Chcete-li zjistit umístění na disku sady SDK rozšíření.
Reference Manager pak otevřete Manifest SDK každé rozšíření SDK, chcete-li zjistit, zda je rozšíření sady SDK pro verze aplikace Visual Studio, ve kterém má správce referencí vyvolán, zda rozšíření SDK je použitelný jako cílové rozhraní projektu, který vyvolal správce referencí a zda hodnoty atributů AppliesTo odpovídaly inzerovaných možnostem systému projektu, který vyvolal správce referencí.Je-li rozšíření SDK se vztahuje na všechny počty, správce odkaz zobrazit závislosti DisplayName, verze a SDK a naplnit odkaz Další informace správně podle manifestu rozšíření sady SDK.
Sadu SDK rozšíření se zobrazí jako jedna položka správce referencí.Po přidání se zobrazí jako jediný uzel v Průzkumníku pro spravované aplikace a Windows Store aplikace určené pro systém Windows pomocí jazyka JavaScript.V sadě SDK se také zobrazí jako jedna položka na stránkách vlastností pro projekty aplikace Visual C++.Uživatel nyní není nutné provádět žádnou další akci.Uživatel je nastavena pro technologii IntelliSense, panel nástrojů, návrháři, objekt prohlížeče, sestavení, nasazení, ladění a balení.
[!POZNÁMKA]
Na základě konfigurace projektu zaměřeny a architektuře, Visual Studio vybere odkazy z obecnějších nejvíce specifické.Například pokud cílené konfigurační sady SDK je ladění a cílené SDK architektury x 86, Visual Studio bude výčet všech odkazů, počínaje \references\commonconfiguration\neutral, pak \references\commonconfiguration\x86, pak \references\debug\neutral a nakonec \references\debug\x86.Bude pak odeberte všechny duplicitní položky specifické pro menší a předávat všechny odkazy kompilátoru pro technologii IntelliSense.Tento způsob výdeje odkazy umožňuje autorovi SDK pružnost bez nutnosti duplicitní odkazy ve více složkách \configuration\architecture.
Pokud projekt obsahuje odkaz na SDK, který je závislý na jiném SDK, nebude aplikace Visual Studio automaticky spotřebovat v druhé sadě SDK.Je třeba ručně přidat odkaz na druhý SDK.Umožňuje uživateli odvodit závislosti SDK, v dialogovém okně Správce referencí při sadu SDK je určena na kartě rozšíření podokno podrobností obsahuje název a verzi sady SDK, a (je-li v sadě SDK závisí na jiném SDK) název závislost SDK.SDK závislosti nejsou splněny, vrátí nástroj MSBuild upozornění, která vyzve uživatele k přidání závislostí.
FrameworkIdentity: Sada Visual Studio hledá první FrameworkIdentity-[config]-[arch] a FrameworkIdentity [config] a FrameworkIdentity [arch] a pak FrameworkIdentity.Pokud najde shodu, zaznamenává hodnota odpovídající atribut.
Aplikace: SDK resolver pokusí vybrat atribut nejvíce specifické aplikace na architektuře; Předvolby v sestupném pořadí: aplikace-[config]-[arch] (nebo aplikace [config] v případě neutrální), potom aplikace-[arch] a nakonec aplikace.Například pokud Manifest SDK zadána následující atributy aplikace: "Aplikace x 86", "Aplikace ladění x 86", "Aplikace x 64", "Aplikace ARM", "Aplikace-ITA" a "Aplikace" a projekt byl cílení ladění a x 86, překládání SDK zvolí, například aplikace ladění x 86, například aplikace x 64, "Aplikace ARM", "Aplikace-ITA" a "Aplikace".
V šabloně projektu, který odkazuje na sadu SDK je nutné zadat SDK reference následujícím způsobem:
<ItemGroup> <SDKReference Include="MySDK, Version=1.0"> <Name>My SDK</Name> </SDKReference> </ItemGroup>
Viz také
Úkoly
Názorný postup: Vytváření SDK pomocí jazyka C++
Názorný postup: Vytváření SDK pomocí jazyka C#