Criar um Software Development KitCreate a software development kit

Um Software Development Kit (SDK) é uma coleção de APIs que você pode referenciar como um único item no Visual Studio.A software development kit (SDK) is a collection of APIs that you can reference as a single item in Visual Studio. A caixa de diálogo Gerenciador de referências lista todos os SDKs que são relevantes para o projeto.The Reference Manager dialog box lists all the SDKs that are relevant to the project. Quando você adiciona um SDK a um projeto, as APIs estão disponíveis no Visual Studio.When you add an SDK to a project, the APIs are available in Visual Studio.

Há dois tipos de SDKs:There are two types of SDKs:

  • Os SDKs de plataforma são componentes obrigatórios para o desenvolvimento de aplicativos para uma plataforma.Platform SDKs are mandatory components for developing apps for a platform. Por exemplo, o Windows 8.1Windows 8.1 SDK é necessário para desenvolver Windows Store 8.xWindows 8.x Store aplicativos.For example, the Windows 8.1Windows 8.1 SDK is required to develop Windows Store 8.xWindows 8.x Store apps.

  • Os SDKs de extensão são componentes opcionais que estendem uma plataforma, mas que não são obrigatórios para o desenvolvimento de aplicativos para essa plataforma.Extension SDKs are optional components that extend a platform but aren't mandatory for developing apps for that platform.

As seções a seguir descrevem a infraestrutura geral de SDKs e como criar um SDK de plataforma e um SDK de extensão.The following sections describe the general infrastructure of SDKs and how to create a platform SDK and an extension SDK.

SDKs de plataformaPlatform SDKs

Os SDKs de plataforma são necessários para desenvolver aplicativos para uma plataforma.Platform SDKs are required to develop apps for a platform. Por exemplo, o Windows 8.1Windows 8.1 SDK é necessário para desenvolver aplicativos para o Windows 8.1Windows 8.1 .For example, the Windows 8.1Windows 8.1 SDK is required to develop apps for Windows 8.1Windows 8.1.

InstalaçãoInstallation

Todos os SDKs de plataforma serão instalados em HKLM\Software\Microsoft\Microsoft SDKs \ [TPI] \V [TPV] \ @InstallationFolder = [raiz do SDK].All platform SDKs will be installed at HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\@InstallationFolder = [SDK root]. Da mesma forma, o Windows 8.1Windows 8.1 SDK é instalado em HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1.Accordingly, the Windows 8.1Windows 8.1 SDK is installed at HKLM\Software\Microsoft\Microsoft SDKs\Windows\v8.1.

LayoutLayout

Os SDKs de plataforma têm o seguinte layout:Platform SDKs have the following layout:

\[InstallationFolder root]
            SDKManifest.xml
            \References
                  \[config]
                        \[arch]
            \DesignTime
                  \[config]
                        \[arch]
Node DescriçãoDescription
Pasta de referênciasReferences folder Contém binários que contêm APIs que podem ser codificadas.Contains binaries that contain APIs that can be coded against. Eles podem incluir arquivos de metadados do Windows (WinMD) ou assemblies.These could include Windows Metadata (WinMD) files or assemblies.
Pasta designtimeDesignTime folder Contém arquivos que são necessários apenas em tempo de execução/depuração.Contains files that are needed only at pre-run/debugging time. Eles podem incluir documentos XML, bibliotecas, cabeçalhos, binários de tempo de design da caixa de ferramentas, artefatos do MSBuild e assim por dianteThese could include XML docs, libraries, headers, Toolbox design-time binaries, MSBuild artifacts, and so forth

Os documentos XML seriam, de preferência, colocados na pasta \DesignTime , mas os documentos XML para referências continuarão a ser colocados junto com o arquivo de referência no Visual Studio.XML docs would, ideally, be placed in the \DesignTime folder, but XML docs for references will continue to be placed alongside the reference file in Visual Studio. Por exemplo, o documento XML de uma referência \References \ [config] \ [Arch] \sample.dll será \References \ [config] \ [Arch] \sample.xml e a versão localizada desse documento será \References \ [config] \ [Arch] \ [localidade] \sample.xml.For example, the XML doc for a reference \References\[config]\[arch]\sample.dll will be \References\[config]\[arch]\sample.xml, and the localized version of that doc will be \References\[config]\[arch]\[locale]\sample.xml.
Pasta de configuraçãoConfiguration folder Pode haver apenas três pastas: debug, Retail e CommonConfiguration.There can be only three folders: Debug, Retail and CommonConfiguration. Os autores do SDK podem posicionar seus arquivos em CommonConfiguration se o mesmo conjunto de arquivos do SDK for consumido, independentemente da configuração que o consumidor do SDK direcionará.SDK authors can place their files under CommonConfiguration if the same set of SDK files should be consumed, regardless of the configuration that the SDK consumer will target.
Pasta de arquiteturaArchitecture folder Qualquer pasta de arquitetura com suporte pode existir.Any supported architecture folder can exist. O Visual Studio dá suporte às seguintes arquiteturas: x86, x64, ARM e neutro.Visual Studio supports the following architectures: x86, x64, ARM, and neutral. Observação: o Win32 mapeia para x86 e AnyCPU é mapeado para neutro.Note: Win32 maps to x86, and AnyCPU maps to neutral.

O MSBuild só tem a aparência de \CommonConfiguration\neutral para SDKs de plataforma.MSBuild looks only under \CommonConfiguration\neutral for Platform SDKs.
SDKManifest.xmlSDKManifest.xml Este arquivo descreve como o Visual Studio deve consumir o SDK.This file describes how Visual Studio should consume the SDK. Examine o manifesto do SDK para Windows 8.1Windows 8.1 :Look at the SDK Manifest for Windows 8.1Windows 8.1:

<FileList DisplayName = "Windows" PlatformIdentity = "Windows, version=8.1" TargetFramework = ".NET for Windows Store apps, version=v4.5.1; .NET Framework, version=v4.5.1" MinVSVersion = "14.0"> <File Reference = "Windows.winmd"> <ToolboxItems VSCategory = "Toolbox.Default" /> </File> </FileList>

DisplayName: O valor que o pesquisador de objetos exibe na lista de procura.DisplayName: The value that the Object Browser displays in the Browse list.

PlatformIdentity: A existência desse atributo diz ao Visual Studio e ao MSBuild que o SDK é um SDK de plataforma e que as referências adicionadas dele não devem ser copiadas localmente.PlatformIdentity: The existence of this attribute tells Visual Studio and MSBuild that the SDK is a platform SDK and that the references added from it shouldn't be copied locally.

TargetFramework: Esse atributo é usado pelo Visual Studio para garantir que apenas projetos direcionados às mesmas estruturas, conforme especificado no valor desse atributo, possam consumir o SDK.TargetFramework: This attribute is used by Visual Studio to ensure that only projects that target the same Frameworks as specified in the value of this attribute can consume the SDK.

MinVSVersion: Esse atributo é usado pelo Visual Studio para consumir apenas os SDKs que se aplicam a ele.MinVSVersion: This attribute is used by Visual Studio to consume only the SDKs that apply to it.

Referência: Esse atributo deve ser especificado somente para as referências que contêm controles.Reference: This attribute must to be specified for only those references that contain controls. Para obter informações sobre como especificar se uma referência contém controles, consulte abaixo.For information about how to specify whether a reference contains controls, see below.

SDKs de extensãoExtension SDKs

As seções a seguir descrevem o que você precisa fazer para implantar um SDK de extensão.The following sections describe what you need to do to deploy an extension SDK.

InstalaçãoInstallation

Os SDKs de extensão podem ser instalados para um usuário específico ou para todos os usuários sem especificar uma chave do registro.Extension SDKs can be installed for a specific user or for all users without specifying a registry key. Para instalar um SDK para todos os usuários, use o seguinte caminho:To install an SDK for all users, use the following path:

% Program Files%\Microsoft SDKs <target platform> \v<número de versão da plataforma > \ExtensionSDKs%Program Files%\Microsoft SDKs<target platform>\v<platform version number>\ExtensionSDKs

Para uma instalação específica do usuário, use o seguinte caminho:For a user-specific installation, use the following path:

%USERPROFILE%\AppData\Local\Microsoft SDKs <target platform> \v<número de versão da plataforma > \ExtensionSDKs%USERPROFILE%\AppData\Local\Microsoft SDKs<target platform>\v<platform version number>\ExtensionSDKs

Se você quiser usar um local diferente, deverá executar uma das duas ações a seguir:If you want to use a different location, you must do one of two things:

  1. Especifique-o em uma chave do registro:Specify it in a registry key:

    HKLM\Software\Microsoft\Microsoft SDKs <target platform> \v<número de versão da plataforma > \ExtensionSDKs<SDKName><SDKVersion>HKLM\Software\Microsoft\Microsoft SDKs<target platform>\v<platform version number>\ExtensionSDKs<SDKName><SDKVersion>\

    e adicione uma subchave (padrão) que tenha um valor de <path to SDK><SDKName><SDKVersion> .and add a (Default) subkey that has a value of <path to SDK><SDKName><SDKVersion>.

  2. Adicione a Propriedade MSBuild SDKReferenceDirectoryRoot ao seu arquivo de projeto.Add the MSBuild property SDKReferenceDirectoryRoot to your project file. O valor dessa propriedade é uma lista delimitada por ponto e vírgula de diretórios nos quais os SDKs de extensão que você deseja referenciar residem.The value of this property is a semicolon delimited list of directories in which the Extension SDKs you want to reference reside.

Layout da instalaçãoInstallation layout

Os SDKs de extensão têm o seguinte layout de instalação:Extension SDKs have the following installation layout:

\<ExtensionSDKs root>
           \<SDKName>
                 \<SDKVersion>
                        SDKManifest.xml
                        \References
                              \<config>
                                    \<arch>
                        \Redist
                              \<config>
                                    \<arch>
                        \DesignTime
                               \<config>
                                     \<arch>

  1. \<SDKName > \<SDKVersion > : o nome e a versão do SDK da extensão são derivados dos nomes de pastas correspondentes no caminho para a raiz do SDK.\<SDKName>\<SDKVersion>: the name and version of the extension SDK is derived from the corresponding folder names in the path to the SDK root. O MSBuild usa essa identidade para localizar o SDK no disco e o Visual Studio exibe essa identidade na janela Propriedades e na caixa de diálogo Gerenciador de referências .MSBuild uses this identity to find the SDK on disk, and Visual Studio displays this identity in the Properties window and Reference Manager dialog.

  2. Pasta References : os binários que contêm as APIs.References folder: the binaries that contain the APIs. Eles podem ser arquivos de metadados do Windows (WinMD) ou assemblies.These could be Windows Metadata (WinMD) files or assemblies.

  3. Pasta Redist : os arquivos necessários para tempo de execução/depuração e devem ser empacotados como parte do aplicativo do usuário.Redist folder: the files that are needed for runtime/debugging and should get packaged as part of the user's application. Todos os binários devem ser colocados sob \redist \<config > \<Arch > e os nomes binários devem ter o seguinte formato para garantir a exclusividade: ] <company> . <product> . <purpose> <extension> . . Por exemplo, * Microsoft.Cpp.Build.dll.All binaries should be placed underneath \redist\<config>\<arch>, and the binary names should have the following format to ensure uniqueness: ]<company>.<product>.<purpose>.<extension>. For example, *Microsoft.Cpp.Build.dll. Todos os arquivos com nomes que podem colidir com nomes de arquivos de outros SDKs (por exemplo, JavaScript, CSS, PRI, XAML, png e arquivos jpg) devem ser colocados sob \redist \<config > \<Arch > \<sdkname > * , exceto pelos arquivos associados aos controles XAML. Esses arquivos devem ser colocados abaixo de * \redist \<config > \<Arch > \<ComponentName > \ .All files with names that may collide with file names from other SDKs (for example, javascript, css, pri, xaml, png, and jpg files) should be placed underneath \redist\<config>\<arch>\<sdkname>* except for the files that are associated with XAML controls. These files should be placed underneath *\redist\<config>\<arch>\<componentname>\.

  4. Pasta designtime : os arquivos que são necessários somente em tempo de execução/depuração e não devem ser empacotados como parte do aplicativo do usuário.DesignTime folder: the files that are needed at only pre-run/debugging time and shouldn't be packaged as part of the user's application. Eles podem ser documentos XML, bibliotecas, cabeçalhos, binários de tempo de design da caixa de ferramentas, artefatos do MSBuild e assim por diante.These could be XML docs, libraries, headers, toolbox design-time binaries, MSBuild artifacts, and so forth. Qualquer SDK destinado ao consumo por um projeto nativo deve ter um arquivo SDKName. props .Any SDK that is intended for consumption by a native project must have an SDKName.props file. A seguir, é mostrado um exemplo desse tipo de arquivo.The following shows a sample of this type of file.

    <?xml version="1.0" encoding="utf-8"?>
    <Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
      <PropertyGroup>
        <ExecutablePath>C:\Temp\ExecutablePath;$(ExecutablePath)</ExecutablePath>
        <IncludePath>$(FrameworkSDKRoot)\..\v8.1\ExtensionSDKs\cppimagingsdk\1.0\DesignTime\CommonConfiguration\Neutral\include;$(IncludePath)</IncludePath>
        <AssemblyReferencePath>C:\Temp\AssemblyReferencePath;(AssemblyReferencePath)</AssemblyReferencePath>
        <LibraryPath>$(FrameworkSDKRoot)\..\v8.1\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>
    
    

    Os documentos de referência XML são colocados junto com o arquivo de referência.XML reference documents are placed alongside the reference file. Por exemplo, o documento de referência XML do \References \<config > \<Arch >\sample.dll assembly é \References \<config<> \ Arch > \sample.xmle a versão localizada desse documento é \References \<config > \<Arch > \<locale >\sample.xml.For example, the XML reference document for the \References\<config>\<arch>\sample.dll assembly is \References\<config>\<arch>\sample.xml, and the localized version of that doc is \References\<config>\<arch>\<locale>\sample.xml.

  5. Pasta de configuração : três subpastas: debug, Retail e CommonConfiguration.Configuration folder: three subfolders: Debug, Retail, and CommonConfiguration. Os autores do SDK podem posicionar seus arquivos em CommonConfiguration quando o mesmo conjunto de arquivos do SDK deve ser consumido, independentemente da configuração de destino do consumidor do SDK.SDK authors can place their files under CommonConfiguration when the same set of SDK files should be consumed, regardless of the configuration targeted by the SDK consumer.

  6. Pasta de arquitetura : há suporte para as seguintes arquiteturas: x86, x64, ARM, neutro.Architecture folder: the following architectures are supported: x86, x64, ARM, neutral. O Win32 mapeia para x86 e AnyCPU é mapeado para neutro.Win32 maps to x86, and AnyCPU maps to neutral.

SDKManifest.xmlSDKManifest.xml

O arquivo SDKManifest.xml descreve como o Visual Studio deve consumir o SDK.The SDKManifest.xml file describes how Visual Studio should consume the SDK. A seguir, é mostrado um exemplo:The following is an example:

<FileList>
DisplayName = "My SDK"
ProductFamilyName = "My SDKs"
TargetFramework = ".NETCore, version=v4.5.1; .NETFramework, version=v4.5.1"
MinVSVersion = "14.0"
MaxPlatformVersion = "8.1"
AppliesTo = "WindowsAppContainer + WindowsXAML"
SupportPrefer32Bit = "True"
SupportedArchitectures = "x86;x64;ARM"
SupportsMultipleVersions = "Error"
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>

A lista a seguir fornece os elementos do arquivo:The following list gives the elements of the file:

  1. DisplayName: o valor que aparece no Gerenciador de referências, Gerenciador de Soluções, pesquisador de objetos e outros locais na interface do usuário para o Visual Studio.DisplayName: the value that appears in the Reference Manager, Solution Explorer, Object Browser, and other locations in the user interface for Visual Studio.

  2. ProductFamilyName: o nome geral do produto SDK.ProductFamilyName: The overall SDK product name. Por exemplo, o Windows Library para JavaScript (WinJS)Windows Library for JavaScript (WinJS) SDK é denominado "Microsoft. winjs. 1.0" e "Microsoft. winjs. 2.0", que pertence à mesma família de família de produtos SDK, "Microsoft. winjs".For example, the Windows Library para JavaScript (WinJS)Windows Library for JavaScript (WinJS) SDK is named "Microsoft.WinJS.1.0" and "Microsoft.WinJS.2.0", which belong to the same family of SDK products family, "Microsoft.WinJS". Esse atributo permite que o Visual Studio e o MSBuild façam essa conexão.This attribute allows Visual Studio and MSBuild to make that connection. Se esse atributo não existir, o nome do SDK será usado como o nome da família de produtos.If this attribute doesn't exist, the SDK Name is used as the product family name.

  3. FrameworkIdentity: especifica uma dependência em uma ou mais bibliotecas de componentes do Windows.FrameworkIdentity: Specifies a dependency on one or more Windows component libraries. O valor desse atributo é colocado no manifesto do aplicativo de consumo.The value of this attribute is put into the consuming app's manifest. Esse atributo é aplicável somente a bibliotecas de componentes do Windows.This attribute is applicable only to Windows component libraries.

  4. TargetFramework: especifica os SDKs que estão disponíveis no Gerenciador de referências e na caixa de ferramentas.TargetFramework: Specifies the SDKs that are available in the Reference Manager and the toolbox. Esta é uma lista delimitada por ponto-e-vírgula dos monikers da estrutura de destino, por exemplo, ".NET Framework, Version = v 2.0; .NET Framework, Version = v 4.5.1".This is a semicolon-delimited list of target framework monikers, for example ".NET Framework, version=v2.0; .NET Framework, version=v4.5.1". Se várias versões da mesma estrutura de destino forem especificadas, o Gerenciador de referências usará a versão mais baixa especificada para fins de filtragem.If several versions of the same target framework are specified, the Reference Manager uses the lowest specified version for filtering purposes. Por exemplo, se ".NET Framework, versão = v 2.0; .NET Framework, versão = v 4.5.1" for especificado, o Gerenciador de referências usará ".NET Framework, versão = v 2.0".For example, if ".NET Framework, version=v2.0; .NET Framework, version=v4.5.1" is specified, Reference Manager will use ".NET Framework, version=v2.0". Se um perfil específico da estrutura de destino for especificado, somente esse perfil será usado pelo Gerenciador de referências para fins de filtragem.If a specific target framework profile is specified, only that profile will be used by the Reference Manager for filtering purposes. Por exemplo, quando "Silverlight, Version = v 4.0, Profile = WindowsPhone" for especificado, o Gerenciador de referências filtrará apenas o perfil de Windows Phone; um projeto direcionado para a estrutura completa do Silverlight 4,0 não vê o SDK no Gerenciador de referências.For example, when "Silverlight, version=v4.0, profile=WindowsPhone" is specified, Reference Manager filters on only the Windows Phone profile; a project targeting the full Silverlight 4.0 Framework does not see the SDK in the Reference Manager.

  5. MinVSVersion: a versão mínima do Visual Studio.MinVSVersion: The minimum Visual Studio version.

  6. MaxPlatformVerson: a versão máxima da plataforma de destino deve ser usada para especificar as versões da plataforma nas quais o seu SDK de extensão não funcionará.MaxPlatformVerson: The maximum target platform version should be used to specify the platform versions on which your Extension SDK will not work. Por exemplo, o pacote de tempo de execução do Microsoft Visual C++ v 11.0 deve ser referenciado somente por projetos do Windows 8.For example, the Microsoft Visual C++ Runtime Package v11.0 should be referenced only by Windows 8 projects. Portanto, o MaxPlatformVersion do projeto do Windows 8 é 8,0.Thus, the Windows 8 project's MaxPlatformVersion is 8.0. Isso significa que o Gerenciador de referências filtra Microsoft Visual C++ pacote de tempo de execução para um projeto Windows 8.1 e o MSBuild gera um erro quando um Windows 8.1Windows 8.1 projeto faz referência a ele.This means that the Reference Manager filters out Microsoft Visual C++ Runtime Package for a Windows 8.1 project, and MSBuild throws an error when a Windows 8.1Windows 8.1 project references it. Observação: esse elemento tem suporte a partir do Visual Studio 2013Visual Studio 2013 .Note: this element is supported starting in Visual Studio 2013Visual Studio 2013.

  7. Aplica-se a: especifica os SDKs que estão disponíveis no Gerenciador de referências especificando os tipos de projeto aplicáveis do Visual Studio.AppliesTo: Specifies the SDKs that are available in the Reference Manager by specifying applicable Visual Studio project types. Nove valores são reconhecidos: WindowsAppContainer, Visual c++, VB, CSharp, WindowsXAML, JavaScript, Managed e Native.Nine values are recognized: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, Managed, and Native. O autor do SDK pode usar and ("+") ou ("|"), não ("!") operadores para especificar exatamente o escopo dos tipos de projeto que se aplicam ao SDK.The SDK author can use and ("+'), or ("|"), not ("!") operators to specify exactly the scope of project types that apply to the SDK.

    WindowsAppContainer identifica projetos para Windows Store 8.xWindows 8.x Store aplicativos.WindowsAppContainer identifies projects for Windows Store 8.xWindows 8.x Store apps.

  8. SupportPrefer32Bit: os valores com suporte são "true" e "false".SupportPrefer32Bit: Supported values are "True" and "False". O padrão é "true".The default is "True". Se o valor for definido como "false", o MSBuild retornará um erro para Windows Store 8.xWindows 8.x Store projetos (ou um aviso para projetos da área de trabalho) se o projeto que faz referência ao SDK tiver o Prefer32Bit habilitado.If the value is set to "False", MSBuild returns an error for Windows Store 8.xWindows 8.x Store projects (or a warning for desktop projects) if the project that references the SDK has Prefer32Bit enabled. Para obter mais informações sobre Prefer32Bit, consulte página de compilação, designer de projeto (C#) ou página de compilação, designer de projeto (Visual Basic).For more information about Prefer32Bit, see Build page, Project Designer (C#) or Compile page, Project Designer (Visual Basic).

  9. SupportedArchitectures: uma lista delimitada por ponto e vírgula de arquiteturas que o SDK dá suporte.SupportedArchitectures: A semicolon delimited list of architectures that the SDK supports. O MSBuild exibirá um aviso se a arquitetura do SDK de destino no projeto de consumo não tiver suporte.MSBuild displays a warning if the targeted SDK architecture in the consuming project isn't supported. Se esse atributo não for especificado, o MSBuild nunca exibirá esse tipo de aviso.If this attribute isn't specified, MSBuild never displays this type of warning.

  10. SupportsMultipleVersions: se esse atributo for definido como erro ou aviso, o MSBuild indica que o mesmo projeto não pode fazer referência a várias versões da mesma família do SDK.SupportsMultipleVersions: If this attribute is set to Error or Warning, MSBuild indicates that the same project can't reference multiple versions of the same SDK family. Se esse atributo não existir ou estiver definido como permitir, o MSBuild não exibirá esse tipo de erro ou aviso.If this attribute doesn't exist or is set to Allow, MSBuild doesn't display this type of error or warning.

  11. AppX: especifica o caminho para os pacotes de aplicativos para a biblioteca de componentes do Windows no disco.AppX: Specifies the path to the app packages for the Windows component library on the disk. Esse valor é passado para o componente de registro da biblioteca de componentes do Windows durante a depuração local.This value is passed to the registration component of the Windows component library during local debugging. A Convenção de nomenclatura para o nome do arquivo é <Company> . <Product> . <Architecture> . <Configuration> <Version> . Appx.The naming convention for the file name is <Company>.<Product>.<Architecture>.<Configuration>.<Version>.appx. A configuração e a arquitetura são opcionais no nome do atributo e no valor do atributo se eles não se aplicam à biblioteca de componentes do Windows.Configuration and Architecture are optional in the attribute name and the attribute value if they don't apply to the Windows component library. Esse valor é aplicável somente a bibliotecas de componentes do Windows.This value is applicable only to Windows component libraries.

  12. CopyRedistToSubDirectory: especifica onde os arquivos na pasta \redist devem ser copiados em relação à raiz do pacote do aplicativo (ou seja, o local do pacote escolhido no Assistente para criar pacote de aplicativo ) e a raiz do layout do tempo de execução.CopyRedistToSubDirectory: Specifies where the files under the \redist folder should be copied relative to the app package root (that is, the Package location chosen in the Create App Package wizard) and runtime layout root. O local padrão é a raiz do pacote do aplicativo e o layout F5 .The default location is the root of the app package and F5 layout.

  13. Depende: uma lista de identidades do SDK que definem os SDKs dos quais esse SDK depende.DependsOn: A list of SDK identities that define the SDKs on which this SDK depends. Esse atributo aparece no painel de detalhes do Gerenciador de referências.This attribute appears in the details pane of the Reference Manager.

  14. MoreInfo: a URL para a página da Web que fornece ajuda e mais informações.MoreInfo: The URL to the web page that provides help and more information. Esse valor é usado no link mais informações no painel direito do Gerenciador de referências.This value is used in the More Information link in the right pane of the Reference Manager.

  15. Tipo de registro: especifica o registro de WinMD no manifesto do aplicativo e é necessário para o WinMD nativo, que tem uma DLL de implementação equivalente.Registration Type: Specifies the WinMD registration in the app manifest and is required for native WinMD, which has a counterpart implementation DLL.

  16. Referência de arquivo: especificada somente para as referências que contêm controles ou são WinMDs nativas.File Reference: Specified for only those references that contain controls or are native WinMDs. Para obter informações sobre como especificar se uma referência contém controles, consulte especificar o local dos itens da caixa de ferramentas abaixo.For information about how to specify whether a reference contains controls, see Specify the location of toolbox items below.

Especificar o local dos itens da caixa de ferramentasSpecify the location of toolbox items

O elemento ToolBoxItems do esquema de SDKManifest.xml especifica a categoria e o local dos itens da caixa de ferramentas nos SDKs de plataforma e extensão.The ToolBoxItems element of the SDKManifest.xml schema specifies the category and location of toolbox items in both platform and extension SDKs. Os exemplos a seguir mostram como especificar locais diferentes.The following examples show how to specify different locations. Isso é aplicável a referências WinMD ou DLL.This is applicable to either WinMD or DLL references.

  1. Coloque os controles na categoria padrão da caixa de ferramentas.Place controls in the toolbox default category.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory = "Toolbox.Default"/>
    </File>
    
  2. Coloque os controles sob um nome de categoria específico.Place controls under a particular category name.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory= "MyCategoryName"/>
    </File>
    
  3. Coloque os controles sob nomes de categoria específicos.Place controls under particular category names.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory = "Graph">
        <ToolboxItems/>
        <ToolboxItems VSCategory = "Data">
        <ToolboxItems />
    </File>
    
  4. Coloque controles sob diferentes nomes de categoria no Blend e no Visual Studio.Place controls under different category names in Blend and 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">
        <ToolboxItems />
    </File>
    
  5. Enumere controles específicos de forma diferente no Blend e no Visual Studio.Enumerate specific controls differently in Blend and Visual Studio.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory = "Graph">
        <ToolboxItems/>
        <ToolboxItems BlendCategory = "Controls/sample/Graph">
        <ToolboxItems/>
    </File>
    
  6. Enumere controles específicos e coloque-os no caminho comum do Visual Studio ou somente no grupo todos os controles.Enumerate specific controls, and place them under the Visual Studio Common Path or only in the All Controls Group.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory = "Toolbox.Common">
        <ToolboxItems />
        <ToolboxItems VSCategory = "Toolbox.All">
        <ToolboxItems />
    </File>
    
  7. Enumere controles específicos e mostre apenas um conjunto específico em ChooseItems sem que eles estejam na caixa de ferramentas.Enumerate specific controls, and show only a specific set in ChooseItems without them being in the toolbox.

    <File Reference = "sample.winmd">
        <ToolboxItems VSCategory = "Toolbox.ChooseItemsOnly">
        <ToolboxItems />
    </File>
    

Veja tambémSee also