Freigeben über


Gewusst wie: Erstellen eines Software Development Kit (SDK)

Ein SDK (Software Development Kit) ist eine Auflistung von Dateien, die Visual Studio als einzelnes Bezugselement behandelt.Im Dialogfeld werden alle Verweis-Manager SDKs auf, die dem Projekt relevant sind, das das Dialogfeld Verweis-Manager aufruft.Wenn Sie ein SDK einem Projekt hinzufügen, ist der gesamte Inhalt von IntelliSense, Werkzeugkasten, Designer, Objektkatalog, Build, Bereitstellung, Debuggen und Paketen verfügbar.

Es gibt zwei Typen SDKs:

  • Plattform-SDKs sind erforderliche Komponenten zum Entwickeln von Apps für eine Plattform.Beispielsweise wird das Windows 8 SDK erforderlich, um Windows Store-App zu entwickeln.

  • Erweiterungs-SDKs sind optionale Komponenten, die eine Plattform erweitern, jedoch nicht für die Entwicklung von Apps für diese Plattform erforderlich.

In den folgenden Abschnitten werden die allgemeine Infrastruktur von SDKs und wie ein Plattform SDK und ein Erweiterung SDK erstellt.

  • Ziel-Plattform-Moniker

  • Plattform-SDKs

  • Erweiterungs-SDKs

Ziel-Plattform-Moniker

Visual Studio 2012 unterstützt zwei neue Eigenschaften:

  1. Ziel-Plattform-Bezeichner (TPIs): Die gültigen Werte dieser Eigenschaft bestehen aus verschiedenen Plattformen, für die Sie Software entwickeln können.Windows ist ein Beispiel einer Plattform.

  2. Ziel-Plattform-Version (TPV): Diese Eigenschaft gibt die Version der Zielplattform.Für Windows 8, ist das TPV 8.0, und die TPIs ist Windows.

Zusammen bilden diese beiden Eigenschaften den Ziel-Plattform-Moniker (TPM), der die Grundlage für Windows 8 und das SDK bildet, die Infrastruktur verweisen.Beispielsweise ist das TPM für Windows 8 "Windows, version=8.0".

Plattform-SDKs

Plattform-SDKs sind erforderlich, um Apps für eine Plattform zu entwickeln.Beispielsweise wird das Windows 8 SDK erforderlich, um Apps für Windows 8 zu entwickeln.

Hh768146.collapse_all(de-de,VS.110).gifInstallation

Alle Plattform-SDKs werden installiert unter HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallationFolder = [SDK-Stamm].Entsprechend wird das Windows 8 SDK unter HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.0 installiert.

Hh768146.collapse_all(de-de,VS.110).gifLayout

Plattform-SDKs haben folgendes Layout:

\[InstallationFolder root]
            SDKManifest.xml
            \References
                  \[config]
                        \[arch]
            \DesignTime
                  \[config]
                        \[arch]

Knoten

Beschreibung

Verweise (Ordner)

Enthält Binärdateien, die API enthalten, das codiert werden kann für.Diese könnten Assemblys Windows-Metadaten einschließen Dateien oder (WinMD).

DesignTime-Ordner

Enthält Dateien, die nur für vor-ausgeführter/Debuggingszeit erforderlich sind.Diese können XML Dokumente, Bibliotheken, Header, Toolboxentwurfszeitbinärdateien, MSBuild-Artefakte einschließen, usw.

WarnhinweisVorsicht
XML Dokumente würde ideal im Ordner \DesignTime platziert, aber XML-Dokumente für Verweise wird weiterhin neben der Verweisdatei in Visual Studio 2012 platziert.Beispielsweise ist für einen Verweis \References\[config]\[arch]\sample.dll das XML-Dokument \References\[config]\[arch]\sample.xml und die lokalisierte Version dieses Dokuments ist \References\[config]\[arch]\[locale]\sample.xml.

Konfiguration

Es kann nur drei Ordner geben: debuggen Sie, Klein- und CommonConfiguration.SDK-Autoren können ihre Dateien unter CommonConfiguration, wenn derselbe Satz von SDK-Dateien genutzt wird, unabhängig von der Konfiguration ein, die der SDK-Consumer abzielt.

Architekturordner

Jeder unterstützte Architekturordner kann vorhanden sind.Visual Studio 2012 unterstützt die folgenden Architekturen: x86, x64, ARM und neutral.Hinweis: Win32-Zuordnungen auf x86 und AnyCPU-Zuordnungen auf neutral.

In .NET Framework 4.5 wird MSBuild hartcodiert, um nur unter \CommonConfiguration\neutral nach Plattform-SDKs zu suchen.

SDKManifest.xml

Diese Datei wird beschrieben, wie Visual Studio das SDK verarbeiten soll.Betrachten Sie das SDK Manifest nach Windows 8:

<FileList
            DisplayName = “Windows”
            PlatformIdentity = “Windows, version=8.0”
            TargetFramework = “.NET for Windows Store apps, version=v4.5; .NET Framework, version=v4.5”
            MinVSVersion = “11.0”>
            <File Reference = “Windows.winmd”>
               <ToolboxItems VSCategory = “Toolbox.Default” />
            </File>
</FileList>
DisplayNameDer Wert, der den Objektkatalog in der Liste angezeigt wird.
PlatformIdentityDas Vorhandensein dieses Attributs weist Visual Studio und MSBuild mit, dass das SDK ein Plattform SDK ist und dass die Verweise, die davon hinzugefügt werden, nicht lokal kopiert werden sollen.
TargetFrameworkDieses Attribut wird von Visual Studio verwendet, um sicherzustellen, dass nur Projekte, die die gleichen Frameworks wie im Wert dieses Attributs angegeben abzielen, das SDK nutzen können.
MinVSVersionDieses Attribut wird von Visual Studio verwendet, um nur die SDKs zu nutzen, die darauf gelten.
VerweisDieses Attribut muss als nur die Verweise angegeben werden, die Steuerelemente enthalten.Informationen darüber, wie Sie, ob ein Verweis Steuerelemente enthält, finden Sie unter unten angibt.

Hh768146.collapse_all(de-de,VS.110).gifIn Visual Studio

Verweis Manager wird berücksichtigen Ziel Plattform Moniker (TPM) und dann ersetzen Eigenschaftswerte in HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallFolder = [SDK-Stamm] den Speicherort auf einem Datenträger des Platform SDK ermitteln.Der Bezugsmanager wird dann:

  1. Öffnen Sie das SDK Manifest, um zu bestimmen, ob das Plattform SDK zur Visual Studio-Version anwendbar ist, in der der Bezugsmanager aufgerufen wurde und ob das zu Plattform SDK gemäß des Zielframeworks des Projekts anwendbar ist, das den Bezugsmanager aufruft.Wenn das Plattform SDK auf beiden Anzahl anwendbar ist, verwendet der Bezugsmanager die Ziel-Plattform-Bezeichnereigenschaft für den Namen der Registerkarte, in der das SDK aufzulisten, Plattform verweist.Wenn das SDK Plattform nicht auf einem Datenträger gefunden wird, wird die Registerkarte weiterhin, aber der mittlere Bereich wird die Meldung "[] TPIs SDK gefunden wurde nicht auf dem Computer" an.

  2. Listen Sie alle Verweise auf, die unter dem Ordner [InstallFolder root]\references\CommonConfiguration\neutral auf der Registerkarte [TPI] | Core angegeben werden.

Der Benutzer kann die Verweise im Platform SDK ihrem Projekt hinzufügen und sie nutzen im Code, während sie jede Assembly oder WinMD wurden.

Erweiterungs-SDKs

Erweiterungs-SDKs erweitern, eine Plattform jedoch nicht für die Entwicklung von Anwendungen für diese Plattform erforderlich.Beispielsweise erweitern Bing Maps und die Windows Live-SDKs, Windows 8 aber nicht von allen Entwicklern für dieses Betriebssystem erforderlich.

Hh768146.collapse_all(de-de,VS.110).gifInstallation

Erweiterungs-SDKs können in einen von vier Speicherorten gespeichert werden:

  • \Programme\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs

  • \Users\[Benutzername]\AppData\Local\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs

  • In der Projektdatei als <PropertyGroup><SDKReferenceDirectoryRoot>dir1;dir2</SDKReferenceDirectoryRoot></PropertyGroup>, in der dir1 und dir2 alle zwei Speicherorte auf Datenträger identifizieren

  • HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK Stamm] wobei [SDK-Stamm] ist [Pfad zum SDK]\[SDKName]\[SDKVersion]\

Für die ersten drei Stellen werden keine Registrierungsschlüssel benötigt.Sie können das SDK Erweiterung im computerweiten, benutzerspezifische oder benutzerdefinierten Speicherort nur einfügen, und Visual Studio hebt einfach das SDK auf.Wenn keiner dieser Mechanismen geeignet ist, können Sie den benutzerdefinierten Speicherort des SDKs angeben, indem Sie den Registrierungspfad im vierten Speicherort verwenden.

Hh768146.collapse_all(de-de,VS.110).gifLayout

Erweiterungs-SDKs haben folgendes Layout:

\[ExtensionSDKs root]
           \[SDKName]
                 \[SDKVersion]
                        SDKManifest.xml
                        \References
                              \[config]
                                    \[arch]
                        \Redist
                              \[config]
                                    \[arch]
                        \DesignTime
                               \[config]
                                     \[arch]

Knoten

Beschreibung

\[SDKName]\[SDKVersion]

Bildet die Identität des Erweiterung SDKs.Das bedeutet, dass der Name und die Version des Erweiterung SDKs aus den entsprechenden Ordnernamen im Pfad zum SDK-Stamm abgeleitet.MSBuild verwendet diese Identität, um das SDK auf einem Datenträger zu suchen, und Visual Studio zeigt diese Identität Eigenschaften im Fenster und im Bezugsmanager an.

Verweise (Ordner)

Die besteht aus Binärdateien, die API enthalten, das codiert werden kann für.Diese könnten Assemblys Windows-Metadaten sein Dateien oder (WinMD).

Redist-Ordner

Die besteht aus Dateien, die für die Laufzeit/Debuggen benötigt werden und gepacktes als Teil der Anwendung des Benutzers abrufen möchten.Zwei Regeln gelten:

  1. Alle Binärdateien sollte unter \redist\[config]\[arch] platziert werden, und die binären Namen sollten das folgende Format haben, um die Eindeutigkeit sicherzustellen: [company].[product].[purpose].[extension].Beispielsweise Microsoft.Cpp.Build.dll.

  2. Alle Dateien mit dem Namen, das möglicherweise mit Dateinamen aus anderen SDKs verursacht (beispielsweise, JavaScript, css, pri, XAML, PNG und Jpgdateien) sollte unter \redist\[config]\[arch]\[sdkname]\ platziert werden mit Ausnahme der Dateien, die mit XAML-Steuerelementen zugeordnet werden.Diese Dateien sollten unter \redist\[config]\[arch]\[componentname]\ platziert werden.

DesignTime-Ordner

Die besteht aus Dateien, die nur vor-ausgeführte/Debuggingszeit benötigt werden und nicht als Teil der Anwendung des Benutzers gepackt werden sollten.Diese können XML Dokumente, Bibliotheken, Header, Toolboxentwurfszeitbinärdateien, MSBuild-Artefakte sein, u. a.

WarnhinweisVorsicht
Jedes SDK, das für die Konsumierung durch ein systemeigenes Projekt vorgesehen ist, muss eine SDKName PROPS-Datei haben.Der folgende Code zeigt ein Beispiel dieses Typs der Datei an.
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ExecutablePath>C:\Temp\ExecutablePath;$(ExecutablePath)</ExecutablePath>
    <IncludePath>$(FrameworkSDKRoot)\..\v8.0\ExtensionSDKs\cppimagingsdk\1.0\DesignTime\CommonConfiguration\Neutral\include;$(IncludePath)</IncludePath>
    <AssemblyReferencePath>C:\Temp\AssemblyReferencePath;$(AssemblyReferencePath)</AssemblyReferencePath>
    <LibraryPath>$(FrameworkSDKRoot)\..\v8.0\ExtensionSDKs\cppimagingsdk\1.0\DesignTime\Debug\ARM;$(LibraryPath)</LibraryPath>
    <SourcePath>C:\Temp\SourcePath\X64;$(SourcePath)</SourcePath>
    <ExcludePath>C:\Temp\ExcludePath\X64;$(ExcludePath)</ExcludePath>
    <_PropertySheetDisplayName>DevILSDK, 1.0</_PropertySheetDisplayName>
  </PropertyGroup>
</Project>
HinweisHinweis
XML Dokumente würde ideal im Ordner \DesignTime platziert, aber XML-Dokumente für Verweise wird weiterhin neben der Verweisdatei in Visual Studio 2012 platziert.Beispielsweise ist für einen Verweis \References\[config]\[arch]\sample.dll das XML-Dokument \References\[config]\[arch]\sample.xml und die lokalisierte Version dieses Dokuments ist \References\[config]\[arch]\[locale]\sample.xml.

Konfiguration

Es kann nur drei Ordner geben: debuggen Sie, Klein- und CommonConfiguration.SDK-Autoren können ihre Dateien unter CommonConfiguration, wenn derselbe Satz von SDK-Dateien genutzt werden soll, unabhängig von der Konfiguration platzieren, die vom SDK-Consumer abzielt.

Architekturordner

Jeder unterstützte Architekturordner kann vorhanden sind.Visual Studio 2012 unterstützt die folgenden Architekturen: x86, x64, ARM, neutral.Win32-Zuordnungen auf x86 und AnyCPU-Zuordnungen auf neutral.

SDKManifest.xml

Diese Datei wird beschrieben, wie Visual Studio das SDK verarbeiten soll.Betrachten Sie das folgende Beispiel-SDK Manifest.

<FileList
DisplayName = “My SDK”
ProductFamilyName = “My SDKs”
FrameworkIdentity-Debug = “Name=MySDK.10.Debug, MinVersion=1.0.0.0”
FrameworkIdentity-Retail = “Name=MySDK.10, MinVersion=1.0.0.0”
TargetFramework = “.NETCore, version=v4.5; .NETFramework, version=v4.5”
MinVSVersion = “11.0”
AppliesTo = "WindowsAppContainer + WindowsXAML"
SupportPrefer32Bit = “OS”
SupportedArchitectures = “x86;x64;ARM”
SupportsMultipleVersions = “Error”
AppX-Debug-x86 = “.\AppX\Debug\x86\Microsoft.MySDK.x86.Debug.1.0.appx”
AppX-Debug-x64 = “.\AppX\Debug\x64\Microsoft.MySDK.x64.Debug.1.0.appx”
AppX-Debug-ARM = “.\AppX\Debug\ARM\Microsoft.MySDK.ARM.Debug.1.0.appx”
AppX-Release-x86 = “.\AppX\Retail\x86\Microsoft.MySDK.x86.1.0.appx”
AppX-Release-x64 = “.\AppX\Retail\x64\Microsoft.MySDK.x64.1.0.appx”
AppX-Release-ARM = “.\AppX\Retail\ARM\Microsoft.MySDK.ARM.1.0.appx” 
CopyRedistToSubDirectory = “.”
DependsOn = “SDKB, version=2.0”
MoreInfo = “https://msdn.microsoft.com/MySDK”>
<File Reference = “MySDK.Sprint.winmd” Implementation = “XNASprintImpl.dll”>
<Registration Type = “Flipper” Implementation = “XNASprintFlipperImpl.dll” />
<Registration Type = “Flexer” Implementation = “XNASprintFlexerImpl.dll” />
<ToolboxItems VSCategory = “Toolbox.Default” />
</File>
</FileList>
KnotenBeschreibung
DisplayNameDer Wert, der im Bezugsmanager, im Projektmappen-Explorer, im Objektkatalog und in anderen Speicherorten in der Benutzeroberfläche für Visual Studio angezeigt wird.
ProductFamilyNameDer gesamte SDK-Produktname.Beispielsweise gehört das Windows Library für JavaScript (WinJS) SDK SDKs mit dem Namen "Microsoft.WinJS.1.0" und "Microsoft.WinJS.2.0", die derselben Kategorie angehören, der SDK-Produktfamilie "Microsoft.WinJS".Mit diesem Attribut können Visual Studio und MSBuild, um diese Beziehung zu erstellen.Wenn dieses Attribut nicht vorhanden ist, wird der Name der SDK als Produktfamilienname verwendet.
FrameworkIdentityAnwendbar nur auf Windows-Komponenten-Bibliotheken.Der Wert dieses Attributs wird in das Manifest Comsumerthread der App platziert, um Abhängigkeit auf einem oder mehreren Windows-Komponenten-Bibliotheken anzugeben.
TargetFrameworkBewerten Sie verwendet, um festzustellen, welche SDKs im Bezugsmanager und -Toolbox verfügbar sind.Dies kann eine durch Semikolons getrennte Liste von Zielframework-Monikern sein.Wenn mehrere Versionen des gleichen Zielframeworks angegeben sind, verwendet der Bezugsmanager die niedrigste angegebene Version für das Filtern von Zwecken.Wenn beispielsweise ".NET Framework, version=v2.0; .NET Framework, version=v4.0" wird verwendet, Bezugsmanager ".NET Framework, version=v2.0" angegeben.Wenn ein bestimmtes Zielframework-Profil angegeben ist, wird nur dieses Profil vom Bezugsmanager zum Filtern von Zwecken verwendet wird.Wenn beispielsweise "Silverlight, version=v4.0, profile=WindowsPhone" angegeben wird, filtert Bezugsmanager nur auf dem Windows Phone-Profil; ein Projekt, das das vollständige Silverlight 4.0-Framework abzielt, sieht das SDK nicht im Bezugsmanager.
MinVSVersionWird verwendet, um zu filtern, das SDKs oben in jeder Version von Visual Studio veranschaulichen.
AppliesTo
Bewerten Sie verwendet, um festzustellen, welche SDKs im Bezugsmanager verfügbar sind, indem anwendbare Visual Studio-Projekttypen angeben.In Visual Studio 2012 werden neun Werte erkannt: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, verwaltet und systemeigene.Der SDK-Autor kann verwenden und ("+ ') oder ("|"), nicht ("! ") Operatoren, um des Bereichs der Projekttypen genau anzugeben, die auf das SDK gelten.
HinweisHinweis
WindowsAppContainer identifiziert Projekte für Windows Store-App.
SupportPrefer32BitUnterstützte Werte sind "true" und "False".Wenn der Wert auf "true" ist, ist das Ergebnis erzielt, als ob das Attribut nicht festgelegt wurden; Das bedeutet, dass die standardmäßige Annahme, dass Prefer32Bit unterstützt wird.Wenn der Wert auf "False" festgelegt wird, gibt einen Fehler Windows Store MSBuild für - Projekte zurück (oder eine Warnung für Tischplattenprojekte) wenn das Projekt, das das SDK verweist, aktiviertes Prefer32Bit verfügt.Weitere Informationen zu Prefer32Bit, finden Sie in einem der folgenden Themen, abhängig von der Programmiersprache:
  1. Seite "Erstellen", Projekt-Designer (C#)

  2. Seite "Kompilieren", Projekt-Designer (Visual Basic) .

SupportedArchitecturesEine durch Semikolons getrennte Liste von Architekturen, die das SDK unterstützt.MSBuild zeigt eine Warnung an, wenn die entsprechende SDK-Architektur im Projekt verwendeten nicht unterstützt wird.Wenn dieses Attribut nicht angegeben wird, zeigt MSBuild nie diesen Typ der Warnung an.
SupportsMultipleVersionsWenn dieses Attribut entweder zu Fehler oder zu Warnung festgelegt ist, weist MSBuild an, dass das Projekt mehrere Versionen derselben SDK-Familie nicht verweisen kann.Wenn dieses Attribut vorhanden ist oder nicht, zu Zulassen festgelegt ist, zeigt MSBuild nicht diesen Fehlertyp oder Warnung an.
AppXAnwendbar nur auf Windows-Komponenten-Bibliotheken.Dieser Attributwert gibt den Pfad zu den Anwendungspaketen für die Windows-Komponenten-Bibliothek auf dem Datenträger an, und der Pfad wird zur Registrierungskomponente der Windows-Komponenten-Bibliothek während des Debuggens lokalen übergeben.Die Benennungskonvention für den Dateinamen ist [Unternehmen]. [Produkt]. Architektur []. Konfiguration []. [] .appx Version.Konfiguration und Architektur sind im Attributnamen und im Attributwert optional, wenn sie nicht auf die Windows-Komponenten-Bibliothek gelten.
CopyRedistToSubDirectoryDer SDK-Autor kann bestimmen, wo die Dateien unter dem Ordner \redist relativ zum Anwendungspaketstamm (das heißt der Paketstandort, der im Assistenten zum Erstellen von App-Paketen ausgewählt wurde) und Ablauflayoutstamm kopiert werden.Der Standardspeicherort ist der Stamm des Anwendungspakets und des F5-Layouts.
DependsOnGetrennte Liste von SDK-Identitäten, die die SDKs definieren, von denen dieses SDK abhängt.Dieses Attribut wird im Detailbereich des Bezugsmanagers.
MoreInfoEnthält die URL zur Webseite, die den Consumer des SDKs mit Prozessleitfaden bereitstellt.Dieser Wert wird im mehr Informationslink im rechten Bereich des Bezugsmanagers verwendet.
DateiverweisDieses Attribut muss nur für diese Assembly/WinMD-Verweise angegeben werden, die entweder Steuerelemente enthalten oder systemeigenen WinMD sind, für den der Registrierungstyp angegeben werden muss.
Registrierungs-TypDieses Attribut gibt die WinMD-Registrierung im Anwendungsmanifest an und ist für systemeigene WinMD erforderlich, der eine Entsprechungsimplementierung DLL verfügt.
Toolbox
In der folgenden Tabelle werden die unterstützten Attribute.
Platzierung in der ToolboxSDKManifest.xml-Beispiel (gilt zu einem Verweis - WinMD oder DLL)
Listen Sie alle Steuerelemente auf und fügen Sie sie in der Standardkategorie der Toolbox.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory = “Toolbox.Default”/>     
</File>
Listen Sie alle Steuerelemente auf und platzieren Sie es unter einen bestimmten Kategorienamen.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory= “MyCategoryName”/>
</File>
Listen Sie bestimmte Steuerelemente auf und platzieren Sie es unter bestimmten Kategorienamen.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems/>
                < ToolboxItems VSCategory = “Data”>
                                <Item Type = “sample.datagrid”/>
                                <Item Type = “sample.dataconnection”/>
                < ToolboxItems />
</File>
Listen Sie bestimmte Steuerelemente auf und fügen Sie sie unter anderen Kategorienamen in Blend und Visual Studio.
// Blend accepts a slightly different structure for the category name because it allows a path rather than a single category.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph” BlendCategory = “Controls/sample/Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>
Listen Sie bestimmte andere Steuerelemente als in Blend und Visual Studio auf.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                <ToolboxItems/>
                < ToolboxItems BlendCategory = “Controls/sample/Graph”>
                                <Item Type = “sample.piegraph”/>
                <ToolboxItems/>
</File>
Listen Sie bestimmte Steuerelemente auf und legen Sie sie unter dem allgemeinen Pfad Visual Studio oder nur in die alle Kontrollen-Gruppe.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.Common”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
                < ToolboxItems VSCategory = “Toolbox.All”>
                                <Item Type = “sample.datagrid”/>
                                <Item Type = “sample.dataconnection”/>
                < ToolboxItems />
</File>
Listen Sie bestimmte Steuerelemente auf und werden nur ein bestimmtes an, das in ChooseItems ohne sie jedoch in der Toolbox festgelegt ist.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.ChooseItemsOnly”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>

Hh768146.collapse_all(de-de,VS.110).gifIn Visual Studio

Verweis Manager wird berücksichtigen Ziel Plattform Moniker (TPM) und dann ersetzen Eigenschaftswerte in \Programme\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs, \Users\[username]\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs und HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\ den Speicherort auf einem Datenträger der Erweiterungs-SDKs ermitteln.

Der Bezugsmanager öffnet dann das SDK Manifest jedes Erweiterung SDKs, zu bestimmen, ob die Erweiterung SDK zur Visual Studio-Version anwendbar ist, in der der Bezugsmanager aufgerufen wurde, ob die Erweiterung SDK gemäß des Zielframeworks des Projekts anwendbar ist, das den Bezugsmanager hat, und ob die AppliesTo-Attributwerte die angekündigten Funktionen des Projektsystems übereinstimmen, das den Bezugsmanager aufgerufen wurde.Wenn die Erweiterung SDK auf allen Anzahl anwendbar ist, zeigt der Bezugsmanager das DisplayName, die Version und die SDK-Abhängigkeiten an und füllt dann den mehr Informationslink ordnungsgemäß gemäß des Manifests Erweiterung SDK auf.

Ein Erweiterung SDK wird als einzelner Eintrag im Bezugsmanager.Sobald hinzugefügt, wird es als einzelner Knoten in Projektmappen-Explorer für verwaltete App und Windows Store-App, die für Windows mit JavaScript erstellt werden.Das SDK wird auch als einzelner Eintrag in den Eigenschaftenseiten für Visual C++-Projekte.Der Benutzer muss jetzt keine weiteren Aktionen ausführen.Der Benutzer wird für IntelliSense, Toolbox, Designer, Objektkatalog, Build, Bereitstellung, Debuggen und Paketen festgelegt.

HinweisHinweis
  1. Auf Grundlage der Projekt gerichtete Konfiguration und die Architektur wählt Visual Studio die Verweise von wenig allgemeinsten an spezifischsten aus.Wenn die gezielte SDK-Konfiguration Debug ist und die gezielte SDK-Architektur x86 ist, listet Visual Studio alle Verweise, beginnend mit \references\commonconfiguration\neutral, dann \references\commonconfiguration\x86, dann \references\debug\neutral und schließlich \references\debug\x86.Anschließend entfernt alle Wenigerbesondereduplikate und führt alle Verweise auf den Compiler für IntelliSense.Diese Art von Sammelnverweisen ermöglicht dem SDK-Autor die Flexibilität des nicht Müssens ihre Verweise mit mehreren \configuration\architecture-Ordnern duplizieren zu.

  2. Wenn Projektverweise ein SDK, die von einem anderen abhängt, Visual Studio SDK nicht automatisch das zweite SDK nutzen.Der Benutzer muss einen Verweis auf den zweiten SDK manuell hinzufügen.Um dem Benutzer beim SDK-Abhängigkeiten, im Bezugsmanagerdialogfeld abzuleiten, wenn ein SDK auf der Erweiterungsregisterkarte angegeben wird, wird der Detailbereich den Namen und die Version des SDKs und (wenn das SDK von einem anderen abhängt SDK) den Namen der SDK-Abhängigkeit auf.Wenn die SDK-Abhängigkeiten nicht erfüllt sind, MSBuild gibt eine Warnung zurück, die den Benutzer auffordert, die Abhängigkeiten hinzuzufügen.

  3. FrameworkIdentity: Visual Studio sucht zuerst nach FrameworkIdentity- Config [] - [] Bogen, dann FrameworkIdentity- Config [], dann FrameworkIdentity- Bogen [] und dann FrameworkIdentity.Wenn eine Übereinstimmung findet, zeichnet es den Wert des entsprechenden Attributs auf.

  4. AppX: Der SDK-Resolver versucht, das bestimmtste AppX-Attribut pro Architektur auszuwählen, Einstellung in absteigender Reihenfolge: AppX-[config]-[arch] (oder AppX-[config] im Fall der neutralen), dann AppX-[arch] und schließlich AppX.Wenn beispielsweise ein SDK Manifest die folgenden AppX-Attribute angegeben: "AppX-x86", "AppX-debug-x86", "AppX-x64", "AppX-ARM", "AppX-ITA" und "AppX" und das Projekt waren die Festlegung Debug- und x86, die SDK-Resolver-Auswahl "AppX-debug-x86", "AppX-x64", "AppX-ARM", "AppX-ITA" und "AppX".

  5. In einer Projektvorlage, die ein SDK verweist, müssen Sie den SDK-Verweis in der folgenden Weise angeben:

    <ItemGroup>
    <SDKReference Include="MySDK, Version=1.0">
       <Name>My SDK</Name> 
    </SDKReference>
    </ItemGroup>

Siehe auch

Aufgaben

Exemplarische Vorgehensweise: Erstellen eines SDK mit C++

Exemplarische Vorgehensweise: Erstellen eines SDK mit C#

Konzepte

Verwalten von Projektverweisen