Compartir a través de


Cómo: Crear un kit de desarrollo de software

Un kit de desarrollo de software (SDK) es una colección de archivos que Visual Studio tratar como un solo elemento de referencia.El cuadro de diálogo Administrador de referencias muestra todos los SDK pertinente para el proyecto que invoca el cuadro de diálogo Administrador de referencias.Al agregar SDK a un proyecto, todo el contenido están disponibles con IntelliSense, Cuadro de herramientas, diseñadores, el explorador de objetos, la compilación, implementación, depuración, y el paquete.

Hay dos tipos de SDK:

  • Los Platform SDK son componentes necesarios para desarrollar aplicaciones para una plataforma.Por ejemplo, Windows 8 SDK se requiere para desarrollar aplicaciones de Tienda Windows.

  • La extensión SDK son componentes opcionales que extienden una plataforma pero no es obligatoria para desarrollar aplicaciones para esa plataforma.

Las secciones siguientes describen la infraestructura general de SDK y cómo crear un SDK de la plataforma y una extensión SDK.

  • Moniker de la plataforma de destino

  • Platform SDK

  • Extensión SDK

Moniker de la plataforma de destino

Visual Studio 2012 admite dos nuevas propiedades:

  1. Identificador (TPI) de la plataforma de destino: Los valores válidos de esta propiedad constan de las distintas plataformas en las que puede desarrollar software.Windows es un ejemplo de una plataforma.

  2. Versión (TPV) de la plataforma de destino: Esta propiedad identifica la versión de la plataforma de destino.Por ejemplo, para Windows 8, el TPV es 8,0, y las TPI son Windows.

Juntas, estas dos propiedades forman el moniker (TPM) de la plataforma de destino, que constituye la base para Windows 8 y SDK que haga referencia la infraestructura.Por ejemplo, el TPM para Windows 8 es “Windows, version=8.0”.

Platform SDK

Los Platform SDK necesarios para desarrollar aplicaciones para una plataforma.Por ejemplo, Windows 8 SDK se requiere para desarrollar aplicaciones para Windows 8.

Hh768146.collapse_all(es-es,VS.110).gifInstalación

Todos los SDK de la plataforma se instalarán en la raíz de HKLM \software\microsoft\microsoft sdks\[tpi]\v[tpv]\@installationfolder \Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallationFolder = [SDK [sdk].En consecuencia, Windows 8 SDK está instalado en HKLM \software\microsoft\microsoft sdks\windows \ v8.0.

Hh768146.collapse_all(es-es,VS.110).gifDiseño

Los Platform SDK tendrán el siguiente diseño:

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

Nodo

Descripción

Carpeta Referencias

Contiene los binarios que contienen API con el que puede codificar.Podrían incluir los archivos o ensamblados de (WinMD) de metadatos de Windows.

Carpeta de DesignTime

Contiene los archivos que se necesitan únicamente en tiempo de pre- ejecución y depuración.Podrían incluir documentos XML, bibliotecas, encabezados, binarios en tiempo de diseño del cuadro de herramientas, los artefactos de MSBuild, etc.

Nota de precauciónPrecaución
Los documentos XML, se incluirán idealmente en la carpeta de \DesignTime, pero los documentos XML para las referencias seguirán siendo colocados junto al archivo de referencia en Visual Studio 2012.Por ejemplo, el documento XML para referencia \References\[config]\[arch]\sample.dll será \References\[config]\[arch]\sample.xml y la versión traducida de ese documento será \References\[config]\[arch]\[locale]\sample.xml.

Carpeta de configuración

Puede haber tres carpetas: depuración, comercial y CommonConfiguration.Los autores de SDK pueden colocar los archivos bajo CommonConfiguration si utilizan el mismo conjunto de archivos de SDK, independientemente de la configuración que el consumidor del SDK de destino.

Carpeta de arquitectura

Cualquier carpeta compatible de la arquitectura puede existir.Visual Studio 2012 admite las arquitecturas siguientes: x86, x64, la ARM, y neutro.Nota: Mapas de Win32 a x86, y mapas AnyCPU en neutra.

En .NET Framework 4.5, MSBuild se pone en código para buscar sólo en \commonconfiguration\neutral \CommonConfiguration\neutral for Platform SDKs \CommonConfiguration\neutral for Platform SDKs \CommonConfiguration\neutral for Platform SDKs.

SDKManifest.xml

Este archivo describe cómo Visual Studio debe utilizar SDK.Busque el Manifiesto para 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>
DisplayNameEl valor que el examinador de objetos muestra en la lista examinar.
PlatformIdentityLa existencia de este atributo indica Visual Studio y MSBuild que SDK es un SDK de la plataforma y que las referencias agregadas de no se deben copiar localmente.
TargetFrameworkEste atributo se usa en Visual Studio para garantizar que solo los proyectos destinados a mismo Marcos según el valor de este atributo puede consumir SDK.
MinVSVersionEste atributo se usa en Visual Studio para utilizar solo el SDK a.
ReferenciaEste atributo se debe especificar solamente para las referencias que contienen controles.Para obtener información sobre cómo especificar si una referencia contiene controles, vea a continuación.

Hh768146.collapse_all(es-es,VS.110).gifEn Visual Studio

El administrador de referencia tendrá la plataforma de destino Moniker (TPM) y después sustituirá los valores de propiedad en HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallFolder = [ráiz de SDK] para detectar la ubicación en disco de Platform SDK.El administrador de referencias a continuación:

  1. Abra el Manifiesto para determinar si el SDK de la plataforma es aplicable a la versión de Visual Studio en la que se ha invocado el administrador de referencia y de si el SDK de la plataforma es aplicable del marco de destino del proyecto que invoca al administrador de la referencia.Si el SDK de la plataforma es aplicable en ambos recuentos, el administrador de referencia utilizará la propiedad ID de la plataforma de destino para el nombre de la pestaña en la que mostrar el SDK de la plataforma hace referencia.Si el SDK de la plataforma no se encuentra en el disco, la pestaña seguirá apareciendo, pero el panel central mostrará que el mensaje “[las TPI] SDK no se encontró en el equipo”.

  2. Mostrar todas las referencias especificadas bajo [raíz de InstallFolder] a la ficha de \references\commonconfiguration\neutral \references\CommonConfiguration\neutral folder in the [TPI] | Core \references\CommonConfiguration\neutral folder in the [TPI] | Core \references\CommonConfiguration\neutral folder in the [TPI] | Core [tpi] = \references\CommonConfiguration\neutral folder in the [TPI] | Core.

El usuario puede agregar referencias en Platform SDK a su proyecto y utilizarlas en código mientras cualquier ensamblado o WinMD.

Extensión SDK

La extensión SDK extiende una plataforma pero no es obligatoria para desarrollar aplicaciones para esa plataforma.Por ejemplo, Bing Maps y Windows Live SDK extienden Windows 8 pero no son necesarios por todos los desarrolladores para ese sistema operativo.

Hh768146.collapse_all(es-es,VS.110).gifInstalación

La extensión SDK se puede colocar una de cuatro ubicaciones:

  • \program files\microsoft sdks\[tpi]\v[tpv]\extensionsdks

  • \users\[username]\appdata\local\microsoft sdks\[tpi]\v[tpv]\extensionsdks

  • En el archivo de proyecto como <PropertyGroup><SDKReferenceDirectoryRoot>dir1;dir2</SDKReferenceDirectoryRoot></PropertyGroup> donde dir1 y dir2 identifican cualquier dos ubicaciones del disco

  • HKLM de \software\microsoft\microsoft sdks\[tpi]\v[tpv]\extensionsdks\[sdkname]\[sdkversion]\@default \Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK root] where [SDK root] is [Path to SDK]\[SDKName]\[SDKVersion [sdk root] \Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK root] where [SDK root] is [Path to SDK]\[SDKName]\[SDKVersion [sdk root] \Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK root] where [SDK root] is [Path to SDK]\[SDKName]\[SDKVersion [path \Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default = [SDK root] where [SDK root] is [Path to SDK]\[SDKName]\[SDKVersion sdk]\[sdkname]\[sdkversion] \

Para las primeras tres ubicaciones, no hay claves del Registro necesarias.Puede quitar simplemente la extensión SDK en la ubicación equipo- elevado, usuario- específica, o personalizada, y Visual Studio detectará simplemente SDK.Si cualquiera de estos mecanismos son adecuados, puede especificar la ubicación personalizada de SDK utilizando la ruta de registro en la cuarta ubicación.

Hh768146.collapse_all(es-es,VS.110).gifDiseño

La extensión SDK tendrá el siguiente diseño:

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

Nodo

Descripción

\[SDKName]\[SDKVersion]

Forma la identidad de extensión SDK.Es decir el nombre y la versión de la extensión SDK se derivan de los nombres de carpeta correspondientes en la ruta de acceso a la raíz de SDK.MSBuild utiliza esta identidad para buscar SDK en disco, y Visual Studio muestra esta identidad en la ventana propiedades y el administrador de la referencia.

Carpeta Referencias

Consta de los binarios que contienen API con el que puede codificar.Podrían ser archivos o ensamblados de (WinMD) de metadatos de Windows.

Carpeta de Redist

Consta de los archivos necesarios para el tiempo de ejecución y depuración y deben obtener empaquetado como parte de la aplicación.Dos reglas aplican:

  1. Todo el binario debe estar situado bajo \ redist \ [] \ [de configuración arco], y los nombres binarios deben tener el formato siguiente para garantizar la unicidad: [compañía]. [product]. [propósito]. [extensión].Por ejemplo, Microsoft.Cpp.Build.dll.

  2. Todos los archivos con nombres que pueden chocar con nombres de archivo de otro SDK (por ejemplo, Javascript, CSS, opción, XAML, PNG, y archivos de jpg) deben situarse por debajo de \redist\[config]\[arch]\[sdkname]\ a excepción de los archivos asociados con los controles XAML.Este archivo debe estar ubicado bajo \redist\[config]\[arch]\[componentname]\.

Carpeta de DesignTime

Consta de los archivos que solo son tiempo necesario de pre- ejecutar o depurar y no deben empaquetar como parte de la aplicación.Podrían ser documentos XML, bibliotecas, encabezados, binarios en tiempo de diseño del cuadro de herramientas, los artefactos de MSBuild, etc.

Nota de precauciónPrecaución
Cualquier SDK que se ha diseñado para su uso en un proyecto nativo debe tener un archivo de SDKName.props.El código siguiente muestra un ejemplo de este tipo de archivo.
<?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>
NotaNota
Los documentos XML, se incluirán idealmente en la carpeta de \DesignTime, pero los documentos XML para las referencias seguirán siendo colocados junto al archivo de referencia en Visual Studio 2012.Por ejemplo, el documento XML para referencia \References\[config]\[arch]\sample.dll será \References\[config]\[arch]\sample.xml y la versión traducida de ese documento será \References\[config]\[arch]\[locale]\sample.xml.

Carpeta de configuración

Puede haber tres carpetas: depuración, comercial y CommonConfiguration.Los autores de SDK pueden colocar los archivos bajo CommonConfiguration cuando el mismo conjunto de archivos de SDK debe ser consumido, independientemente de la configuración de destino por el consumidor de SDK.

Carpeta de arquitectura

Cualquier carpeta compatible de la arquitectura puede existir.Visual Studio 2012 admite las arquitecturas siguientes: x86, x64, la ARM, neutro.Mapas de Win32 a x86, y mapas AnyCPU en neutra.

SDKManifest.xml

Este archivo describe cómo Visual Studio debe utilizar SDK.Observe el siguiente ejemplo SDK Manifiesto.

<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>
NodoDescripción
DisplayNameEl valor que aparece en el administrador de referencia, el explorador de soluciones, explorador de objetos, y otras ubicaciones en la interfaz de usuario de Visual Studio.
ProductFamilyNameEl nombre de producto total de SDK.Por ejemplo, Biblioteca de Windows para JavaScript (WinJS) SDK enviará SDK con el nombre “Microsoft.WinJS.1.0” y “Microsoft.WinJS.2.0”, que pertenecen a la misma familia de familia de productos de SDK, “Microsoft.WinJS”.Este atributo permite que Visual Studio y MSBuild crean esa conexión.Si no existe este atributo, el nombre de SDK se utiliza como el apellido del producto.
FrameworkIdentityAplicable únicamente a las bibliotecas de componentes de Windows.El valor de este atributo se coloca en la aplicación que utiliza manifiesto indicar dependencia en una o más bibliotecas de componentes de Windows.
TargetFrameworkValor utilizado para determinar qué SDK está disponible en el administrador y cuadro de herramientas de la referencia.Puede ser una lista delimitada por puntos y comas de monikers de.NET framework de destino.Si varias versiones del mismo marco de destino se especifican, el administrador de referencia utilizará la versión especificada inferior para filtrar informes.Por ejemplo, si “.NET Framework, version=v2.0; se especifica .NET Framework, version=v4.0”, administrador de referencia utilizará “.NET Framework, version=v2.0”.Si se especifica un perfil específico de.NET framework de destino, sólo ese perfil será utilizado por el administrador de la referencia para filtrar informes.Por ejemplo, cuando se especifica “Silverlight, version=v4.0, profile=WindowsPhone”, el administrador de referencia filtrará sólo en el perfil de Windows phone; un proyecto que tiene como destino la versión completa de Silverlight 4,0 no verán SDK en el administrador de la referencia.
MinVSVersionSe utiliza para filtrar que SDK aparece en cada versión de Visual Studio.
AppliesTo
Valor utilizado para determinar qué SDK está disponible en el administrador de la referencia especificando los tipos de proyecto aplicables de Visual Studio.En Visual Studio 2012, se reconocen nueve valores: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, administrado, y natural.El autor de SDK puede utilizar y (“+ '), o (“|¡"), no (“! ") operadores para especificar exactamente el ámbito de los tipos de proyecto que se aplican a SDK.
NotaNota
WindowsAppContainer identifica los proyectos para las aplicaciones de Tienda Windows.
SupportPrefer32BitLos valores admitidos son “True” y “False”.Si el valor se establece en “True”, el resultado es el mismo que si el atributo no se establece; es decir, la hipótesis predeterminada es que Prefer32Bit es.Si el valor se establece en “False”, MSBuild devuelve un error de los proyectos de Tienda Windows (o una advertencia para los proyectos de escritorio) si el proyecto que hace referencia el SDK tiene Prefer32Bit habilitado.Para obtener más información sobre Prefer32Bit, vea uno de los temas siguientes, dependiendo del lenguaje de programación:
  1. Compilar (Página, Diseñador de proyectos) (C#)

  2. Página Compilación, Diseñador de proyectos (Visual Basic) .

SupportedArchitecturesUna lista delimitada por punto y coma de arquitecturas que SDK admite.MSBuild muestra una advertencia si la arquitectura de destino de SDK en el proyecto que utiliza no se admite.Si no se especifica este atributo, MSBuild nunca muestra este tipo de advertencia.
SupportsMultipleVersionsSi este atributo está establecido en Error o a Advertencia, MSBuild indica que el mismo proyecto no puede hacer referencia a varias versiones de la misma familia de SDK.Si este atributo no existe o se establece en permitir, MSBuild no muestra este tipo de error o de advertencia.
AppXAplicable únicamente a las bibliotecas de componentes de Windows.Este valor de atributo especifica la ruta de acceso a los paquetes de la aplicación para la biblioteca de componente de Windows en el disco, y la ruta de acceso se pasa al componente del registro de la biblioteca de componentes de Windows durante la depuración local.La convención de nomenclatura para el nombre de archivo es [compañía]. [Product]. Arquitectura []. [Configuración]. [] Versión .appx.La configuración y la arquitectura son opcionales en el nombre de atributo y el valor del atributo si no se aplican a la biblioteca de componentes de Windows.
CopyRedistToSubDirectoryEl autor de SDK puede determinar en donde los archivos \ carpeta redist obtendrán copiado en relación con la raíz del paquete de la aplicación (es decir, Ubicación del paquete elegido en el asistente del paquete de la aplicación de crear) y la raíz del diseño en tiempo de ejecución.La ubicación predeterminada es la raíz del paquete de la aplicación y diseño de F5.
DependsOnLista delimitada de identidades de SDK que definen el SDK de que este SDK depende.Este atributo aparece en el panel de detalles del administrador de referencia.
MoreInfoContiene la dirección URL a la página Web que proporciona el consumidor de SDK con orientación.Este valor se utiliza en el vínculo de información de Más en el panel derecho del administrador de referencia.
Referencia de archivoEste atributo se debe especificar solo para los ensamblados y las referencias de WinMD que contiene controles o es código WinMD que el tipo del registro debe ser especificado.
Tipo de registroEste atributo especifica el registro de WinMD en el manifiesto de aplicación y se requiere para nativo WinMD, que tiene una implementación DLL de equivalente.
Cuadro de herramientas
La tabla siguiente se describen los atributos compatibles.
Posición en el cuadro de herramientasEjemplo de SDKManifest.xml (aplicable a cualquier referencia – WinMD o DLL)
Mostrar todos los controles, y los coloca en la categoría predeterminada del cuadro de herramientas.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory = “Toolbox.Default”/>     
</File>
Mostrar todos los controles, y los coloca con un nombre de categoría determinado.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory= “MyCategoryName”/>
</File>
Enumera los controles específicos, y los coloca en nombres de categoría determinados.
<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>
Enumera los controles específicos, y los coloca en diversos nombres de categoría en Blend y 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>
Enumera los controles específicos de manera diferente en Blend y Visual Studio.
<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>
Enumera los controles específicos, y los coloca en la ruta común de Visual Studio o sólo en el grupo de Controles Todo.
<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>
Enumera los controles específicos, y muestran solo un conjunto concreto de ChooseItems sin ellos que están en el cuadro de herramientas.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.ChooseItemsOnly”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>

Hh768146.collapse_all(es-es,VS.110).gifEn Visual Studio

El administrador de referencia tendrá la plataforma de destino Moniker (TPM) y después sustituirá los valores de propiedad en \Program Files\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs, \Users\[username]\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs y HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\ para detectar la ubicación en disco de los SDK de extensión.

El administrador de referencias a abrirá SDK Manifiestos de cada extensión SDK para determinar si la extensión SDK es aplicable a la versión de Visual Studio en la que se ha invocado el administrador de referencia, si la extensión SDK es aplicable del marco de destino del proyecto que invocó el administrador de referencia, y si la coincidencia de los valores de atributo de AppliesTo funciones anunciados del sistema de proyectos que invocó al administrador de la referencia.Si la extensión SDK es aplicable en todos los recuentos, el administrador de referencia mostrará el DisplayName, la versión, y las dependencias de SDK y después rellenará el vínculo de información de Más correctamente según la extensión SDK Manifiesto.

Una extensión SDK aparece como una sola entrada en el administrador de la referencia.Una vez agregado, aparece como un nodo en Explorador de soluciones para las aplicaciones administradas y las aplicaciones de Tienda Windows compiladas para Windows mediante JavaScript.SDK también aparece como una sola entrada en las páginas de propiedades para proyectos de Visual C++.El usuario ahora no tiene que realizar cualquier acción otras.Establece el usuario para IntelliSense, el cuadro de herramientas, diseñadores, el explorador de objetos, la compilación, implementación, depuración, y el paquete.

[!NOTA]

  1. Basado en el proyecto indicó la configuración y la arquitectura, Visual Studio seleccionará las referencias del menos específico a más específico.Por ejemplo, si la configuración de destino de SDK es debug y la arquitectura de destino de SDK es x86, Visual Studio mostrará todas las referencias, comenzando por \ referencias \ commonconfiguration \ neutro, después \ referencias \ commonconfiguration \ x86, después \ referencias \ debug \ neutro, y finalmente \ referencias \ debug \ x86.A continuación quitará cualquier duplicado menos- concreto y pasará todas las referencias al compilador que IntelliSense.De esta manera las referencias de la cosecha ofrece al autor de SDK la flexibilidad no tengan que duplicar las referencias en las carpetas de varias \ de configuración \ de arquitectura.

  2. Si un proyecto hace referencia SDK que depende de otro SDK, Visual Studio automáticamente no consumirá segundo SDK.El usuario debe agregar manualmente una referencia a segundo SDK.Para ayudar al usuario a deducir las dependencias de SDK, en el cuadro de diálogo administrador de referencia, cuando SDK se especifica en la pestaña de extensiones, el panel de detalles muestra el nombre y la versión de SDK y, si SDK depende de otro SDK) el nombre de la dependencia de SDK.Cuando las dependencias de SDK no se cumplen, MSBuild devuelve una advertencia que solicita al usuario agregar las dependencias.

  3. FrameworkIdentity: Visual Studio busca primero para FrameworkIdentity- [configuración] - [arco], a continuación FrameworkIdentity- [configuración], a continuación FrameworkIdentity- [arco] y, a continuación FrameworkIdentity.Cuando encuentra una coincidencia, registra el valor del atributo coincidente.

  4. AppX: El software de resolución de nombres de SDK intenta elegir el atributo más específico de AppX en la arquitectura; preferencia en orden descendente: AppX- [configuración] - [arco] (o AppX- [configuración] en el caso neutro), entonces AppX- [arco] y, finalmente AppX.Por ejemplo, si el Manifiesto especificado los siguientes atributos de AppX: “AppX-x86”, “AppX-debug-x86”, “AppX-x64”, “AppX-ARM”, “AppX- AIE” y “AppX”, y el proyecto apuntaba depuración y x86, la resolución de nombres de SDK selección “AppX-debug-x86”, “AppX-x64”, “AppX-ARM”, “AppX- AIE” y “AppX”.

  5. En una plantilla de proyecto que haga referencia SDK, debe especificar la referencia del SDK de la manera siguiente:

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

Vea también

Tareas

Tutorial: Crear un SDK usando C++

Tutorial: Crear un SDK usando C#

Conceptos

Administrar referencias de proyecto.