Como: criar um Kit de desenvolvimento de Software

Um software development kit (SDK) é uma coleção de arquivos que Visual Studio trata como um único item de referência.A caixa de diálogo do Gerenciador de referência lista qualquer SDKs que são pertinentes ao projeto que chama a caixa de diálogo do Gerenciador de referência .Quando você adiciona SDK a um projeto, todos os conteúdos estão disponíveis com o IntelliSense, Caixa de Ferramentas, designer, pesquisador de objetos, compilação, implantação, depuração, e empacotar.

Há dois tipos de SDKs:

  • A plataforma SDKs são componentes obrigatórias para desenvolver aplicativos para uma plataforma.Por exemplo, Windows 8 SDK é necessário para desenvolver aplicativos de Windows Store .

  • A extensão SDKs são componentes opcionais que estendem uma plataforma mas não é imperativa para o desenvolvimento de aplicativos para esta plataforma.

As seções a seguir descrevem a infraestrutura geral de SDKs e como criar uma plataforma SDK e uma extensão SDK.

  • Apelido a plataforma de destino

  • Plataforma SDKs

  • Extensão SDKs

Apelido a plataforma de destino

Visual Studio 2012 suporta duas novas propriedades:

  1. Identificador (TPI) a plataforma de destino: Os valores válidos desta propriedade consiste em várias plataformas que você pode desenvolver software.Windows é um exemplo de uma plataforma.

  2. Versão (TPV) a plataforma de destino: Esta propriedade identifica a versão da plataforma de destino.Por exemplo, para Windows 8, o TPV é 8,0, e os TPI são o Windows.

Juntas, essas duas propriedades formam a apelido (TPM) a plataforma de destino, que forma a base para Windows 8 e um SDK que referenciam a infraestrutura.Por exemplo, TPM para Windows 8 é “Windows”, version=8.0.

Plataforma SDKs

A plataforma SDKs é necessária para desenvolver aplicativos para uma plataforma.Por exemplo, Windows 8 SDK é necessário para desenvolver aplicativos para Windows 8.

Hh768146.collapse_all(pt-br,VS.110).gifInstalação

Qualquer plataforma SDKs para ser instalado em HKLM \ software \ Microsoft \ Microsoft SDKs \ TPI [] [] \ v de TPV \ = [@InstallationFolder raiz do SDK].Da mesma forma, Windows 8 SDK é instalado em HKLM \ software \ Microsoft \ Microsoft SDKs \ Windows \ v8.0.

Hh768146.collapse_all(pt-br,VS.110).gifLayout

A plataforma SDKs terá o seguinte: layout

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

Node

Descrição

Pasta Referências

Contém os binários que contêm os APIs que pode ser codificado em.Esses podem incluir arquivos ou conjuntos de (WinMD) de metadados do Windows.

Pasta de DesignTime

Contém os arquivos necessários somente em tempo passos executado/depuração.Esses podem incluir XML docs, bibliotecas, cabeçalhos, binários tempo de design da caixa de ferramentas, artefatos do MSBuild, e assim por diante

Observação de cuidadoCuidado
XML docs, idealmente, seria colocado na pasta \ DesignTime, mas XML docs para referências continuará a ser colocado ao lado do arquivo de referência em Visual Studio 2012.Por exemplo, para XML doc referência configuração \ \ reference [] [] \ \ arco sample.dll para ser configuração \ \ reference [] [] \ \ arco sample.xml, e versão traduzida de aquele doc para ser \ reference [\ \ arco configuração] [] [] \ \ sample.xml de localidade.

A pasta de configuração

Pode haver apenas três pastas: depuração e comerciais, CommonConfiguration.Os autores do SDK podem colocar os arquivos em CommonConfiguration se o mesmo conjunto de arquivos do SDK é consumido, independentemente da configuração que o consumidor SDK destinará.

Pasta de arquitetura

Qualquer pasta suporte de arquitetura pode existir.Visual Studio 2012 suporta as seguintes arquiteturas: x, x64, BRAÇO, e ponto neutro.Observação: Mapas do Win32 a x, e mapas de AnyCPU ao ponto neutro.

Em .NET Framework 4.5, MSBuild é embutido ter apenas em \ \ CommonConfiguration ponto neutro para a plataforma SDKs.

SDKManifest.xml

Este arquivo descreve como Visual Studio deve receber o SDK.Examine o manifesto SDK 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>
DisplayNameO valor que o pesquisador de objetos exibe procurar na lista.
PlatformIdentityA existência deste atributo instrui o Visual Studio e MSBuild que SDK é uma plataforma SDK e que as referências adicionadas dele não deve ser copiada localmente.
TargetFrameworkEste atributo é usado pelo Visual Studio para garantir que somente projetos que destinam-se as mesmas estruturas como especificado no valor desse atributo pode consumir SDK.
MinVSVersionEste atributo é usado pelo Visual Studio para consumir somente o SDKs que se aplica a ele.
ReferênciaEste atributo deve ser especificado para somente as referências que contêm controles.Para obter informações sobre como especificar se uma referência contém controles, consulte abaixo.

Hh768146.collapse_all(pt-br,VS.110).gifNo Visual Studio

Referência gerenciador para procurar destino plataforma apelido (TPM) e em para substituir valor de propriedade em HKLM \ software \ Microsoft \ Microsoft SDKs \ TPI [] [] \ v de TPV \ = [@InstallFolder raiz do SDK] para descobrir o local de disco platform SDK.O gerenciador de referência em:

  1. Abra o manifesto SDK para determinar se a platform SDK é aplicável para a versão do Visual Studio em que o gerenciador de referência foi chamado e a se a platform SDK é aplicável acordo com Framework de destino do projeto que chama o gerenciador de referência.Se a platform SDK é aplicável em ambas as maiores, o gerenciador de referência usará a propriedade do identificador da plataforma de destino para o nome da guia para enumerar a platform SDK referencia.Se a platform SDK não for encontrada no disco, a guia ainda será exibido, mas o painel exibir a mensagem “average [] TPI SDK não foi encontrado em” computador.

  2. Enumerar todas as referências especificadas na raiz de InstallFolder [] \ \ referências CommonConfiguration pasta \ neutra nos TPI [] | Retire o núcleo de tabulação.

O usuário pode adicionar referências na plataforma SDK ao seu projeto e consumir-las em código como qualquer conjunto ou WinMD.

Extensão SDKs

A extensão SDKs estende uma plataforma mas não é imperativa para desenvolvendo aplicativos para esta plataforma.Por exemplo, os mapeamentos de Bing e Windows Live SDKs estendem Windows 8 mas não são necessários para todos os desenvolvedores para o sistema operacional.

Hh768146.collapse_all(pt-br,VS.110).gifInstalação

A extensão SDKs pode ser colocada em um dos quatro locais:

  • \ Arquivo de files \ Microsoft SDKs \ TPI [] [] \ v de TPV \ ExtensionSDKs

  • [\ \ Usuário nome de usuário AppData] \ \ \ Microsoft SDKs \ local TPI [] [] \ v de TPV \ ExtensionSDKs

  • No arquivo de projeto como o <PropertyGroup><SDKReferenceDirectoryRoot>dir1;dir2</SDKReferenceDirectoryRoot></PropertyGroup> onde dir1 e dir2 identificam todos os dois locais no disco

  • HKLM \ software \ Microsoft \ Microsoft SDKs \ \ v TPI [] [] TPV ExtensionSDKs \ \ \ SDKName [] [] SDKVersion @default SDK \ = [] [raiz onde raiz do SDK é caminho para] [] [] \ SDK de SDKName de SDKVersion [] \ \

Para os primeiros três locais, nenhuma chave do Registro é necessária.Você pode apenas solte a extensão SDK na máquina local, específicas de usuário, ou personalizada, e o Visual Studio irá pegar simplesmente SDK.Se nenhum desses mecanismos é apropriado, você pode especificar o local personalizado SDK usando o caminho do Registro no quarto local.

Hh768146.collapse_all(pt-br,VS.110).gifLayout

A extensão SDKs terá o seguinte: layout

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

Node

Descrição

[] \ \ SDKVersion de SDKName []

Forma a identidade de extensão SDK.Ou seja o nome e a versão da extensão SDK são derivados dos nomes de pastas correspondentes no caminho para a raiz do SDK.MSBuild usa essa identidade para localizar SDK no disco, e o Visual Studio exibe essa identidade na janela de Propriedades e no gerenciador de referência.

Pasta Referências

Consiste em binários que contêm os APIs que pode ser codificado em.Esses arquivos podem ser ou conjuntos de (WinMD) de metadados do Windows.

Pasta de Redist

Consiste nos arquivos necessários para o tempo de execução/depuração e devem obter empacotado como parte de aplicativo do usuário.Duas regras se aplicam:

  1. Qualquer binário deve estar localizado abaixo de redist [] \ \ \ arco de configuração [], e os nomes binários devem ter o seguinte formato para garantir a unicidade: empresa []. [] produto. finalidade []. extensão [].Por exemplo, Microsoft.Cpp.Build.dll.

  2. Qualquer arquivo com nome que pode colidir com os nomes de arquivo do outro SDKs (por exemplo, o Javascript, CSS, pri, xaml, PNG, e arquivos de jpg) deve estar localizado abaixo de redist \ \ \ configuração [] [] [] \ arco de sdkname \ para a exceção dos arquivos que são associados com os controles XAML.Esse arquivo deve estar localizado abaixo de redist \ \ \ configuração [] [] [] \ arco de componentname \.

Pasta de DesignTime

Consiste em arquivos que são necessários somente tempo passos executado/depuração e não devem ser empacotados como parte de aplicativo do usuário.Esses podem ser XML docs, bibliotecas, cabeçalhos, binários tempo de design da caixa de ferramentas, artefatos do MSBuild, e assim por diante.

Observação de cuidadoCuidado
Qualquer SDK que destina-se a consumíveis por um projeto nativo deve ter um arquivo de SDKName.props.O código a seguir mostra um exemplo desse tipo de arquivo.
<?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>
ObservaçãoObservação
XML docs, idealmente, seria colocado na pasta \ DesignTime, mas XML docs para referências continuará a ser colocado ao lado do arquivo de referência em Visual Studio 2012.Por exemplo, para XML doc referência configuração \ \ reference [] [] \ \ arco sample.dll para ser configuração \ \ reference [] [] \ \ arco sample.xml, e versão traduzida de aquele doc para ser \ reference [\ \ arco configuração] [] [] \ \ sample.xml de localidade.

A pasta de configuração

Pode haver apenas três pastas: depuração e comerciais, CommonConfiguration.Os autores do SDK podem colocar os arquivos em CommonConfiguration quando o mesmo conjunto de arquivos do SDK deve ser consumido, independentemente da configuração de destino pelo consumidor do SDK.

Pasta de arquitetura

Qualquer pasta suporte de arquitetura pode existir.Visual Studio 2012 suporta as seguintes arquiteturas: x, x64, BRAÇO, neutro.Mapas do Win32 a x, e mapas de AnyCPU ao ponto neutro.

SDKManifest.xml

Este arquivo descreve como Visual Studio deve receber o SDK.Dê uma olhada na seguinte manifesto SDK do exemplo.

<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>
NodeDescrição
DisplayNameO valor que aparece no gerenciador de referência, no solution Explorer, no pesquisador de objetos, e outros locais na interface de usuário para o Visual Studio.
ProductFamilyNameO nome do produto total do SDK.Por exemplo, Windows Library para JavaScript (WinJS) SDK enviará SDKs com nome “Microsoft.WinJS.1.0” e “Microsoft.WinJS.2.0”, que pertencem a mesma família da família de produtos SDK, “Microsoft.WinJS”.Este atributo permite que o Visual Studio e o MSBuild para fazer a conexão.Se esse atributo não existir, o nome do SDK é usado como o nome da família do produto.
FrameworkIdentityAplicável somente a bibliotecas de componente do Windows.O valor desse atributo é colocado no manifesto do aplicativo consumindo para indicar a dependência em uma ou mais bibliotecas do componente do Windows.
TargetFrameworkValor usado para determinar que SDKs está disponível no gerenciador e na caixa de ferramentas de referência.Isso pode ser uma lista delimitada por ponto-e-vírgula de alcunhas de Framework de destino.Se várias versões do mesmo destino Framework são especificadas, o gerenciador de referência usará a menor versão especificada filtrando fins.Por exemplo, se “.NET Framework, version=v2.0; o .NET Framework, version=v4.0” for especificado, o gerenciador de referência “usará o .NET Framework, version=v2.0”.Se um perfil específico de Framework de destino é especificado, somente o perfil será usado pelo gerenciador de referência filtrando fins.Por exemplo, quando “Silverlight version=v4.0, profile=WindowsPhone,” for especificado, o gerenciador de referência irá filtrar somente no perfil de telefone do Windows; um projeto que tem como alvo o Silverlight Framework 4,0 completo não verá SDK no gerenciador de referência.
MinVSVersionUsado para filtrar quais SDKs aparece em cada versão do Visual Studio.
AppliesTo
Valor usado para determinar que SDKs está disponível no gerenciador de referência especificando tipos de projeto aplicáveis do Visual Studio.Em Visual Studio 2012, nove valores são reconhecidos: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, Javascript, gerenciado, e nativo.O autor do SDK pode usar e + “('), (“|" não), (! “operadores ") para especificar exatamente o escopo de tipos de projeto que se aplicam ao SDK.
ObservaçãoObservação
WindowsAppContainer identifica projetos de aplicativos Windows Store .
SupportPrefer32BitOs valores são suportados “verdadeiros e falsos” “”.Se o valor for true “set”, o resultado é o mesmo como se o atributo não foi definido; ou seja, a suposição padrão é que Prefer32Bit é suportado.Se o valor é definido como “false”, MSBuild retorna um erro para projetos de Windows Store (ou um aviso para projetos de área de trabalho) se o projeto que referencia o SDK tem Prefer32Bit ativado.Para obter mais informações sobre, consulte Prefer32Bit um dos tópicos a seguir, dependendo da linguagem de programação:
  1. Compilação de página, Designer de projeto (C#)

  2. Compilar página Project Designer (Visual Basic) .

SupportedArchitecturesUma lista delimitada ponto-e-vírgula de arquiteturas que suporta SDK.MSBuild exibe um aviso se a arquitetura de destino do projeto no consumidor não é suportada.Se esse atributo não for especificado, o MSBuild nunca exibe este tipo de aviso.
SupportsMultipleVersionsSe esse atributo é definido como Erro ou a Aviso, MSBuild indica que o mesmo projeto não pode referenciar várias versões da mesma família do SDK.Se esse atributo não existe ou é definido como Permitir, MSBuild não exibe este tipo de erro ou aviso de.
AppXAplicável somente a bibliotecas de componente do Windows.Este valor de atributo especifica o caminho para os pacotes do aplicativo para a biblioteca componente do Windows no disco, e o caminho é passado para o componente do registro da biblioteca componente do Windows durante a depuração local.A convenção de nomeação para o nome de arquivo é empresa []. [] Produto. Arquitetura []. Configuração []. [] .appx Versão.A configuração e arquitetura são opcionais no nome do atributo e o valor de atributo não se aplica à biblioteca do componente do Windows.
CopyRedistToSubDirectoryO autor do SDK pode determinar onde os arquivos na pasta \ redist de eles obterão copiado de pacote relativa à raiz do aplicativo (ou seja, Local do pacote escolhido no assistente de pacote de aplicativo de design) e à raiz de layout de tempo de execução.O local padrão é a raiz do pacote do aplicativo e de layout de F5.
DependsOnLista delimitada de identidades SDK que definem o SDKs de que este SDK depende.Este atributo aparece no painel de detalhes do gerenciador de referência.
MoreInfoContém a URL para a página inicial que fornece o consumidor SDK orientação.Esse valor é usado em mais link de informações no painel direito do gerenciador de referência.
Referência de ArquivoEste atributo deve ser especificado para somente os assemblies/referências de WinMD que contém controles ou é o WinMD nativo para o tipo do registro deve ser especificado.
Tipo do registroEste atributo especifica o registro de WinMD no manifesto do aplicativo e é necessário para o WinMD nativo, que tem uma DLL de implementação de correspondentes.
Caixa de Ferramentas
A tabela a seguir descreve os atributos suportados.
Posicionamento na caixa de ferramentasExemplo de SDKManifest.xml (aplicáveis a qualquer referência – WinMD ou DLL)
Enumerar todos os controles, e os coloca na categoria padrão da caixa de ferramentas.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory = “Toolbox.Default”/>     
</File>
Enumerar todos os controles, e os coloca em um nome específico de categoria.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory= “MyCategoryName”/>
</File>
Enumerar os controles específicos, e os coloca em nomes específicos de categoria.
<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>
Enumerar os controles específicos, e os coloca em diferentes nomes de categoria na mistura e no 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>
Enumerar os controles específicos na mistura de maneira diferente e no 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>
Enumerar os controles específicos, e os coloca no caminho comum do Visual Studio ou somente em qualquer grupo de controles.
<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>
Enumerar os controles específicos, e mostrar somente um conjunto específico em ChooseItems sem que eles estão na caixa de ferramentas.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.ChooseItemsOnly”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>

Hh768146.collapse_all(pt-br,VS.110).gifNo Visual Studio

Referência gerenciador para procurar destino plataforma apelido (TPM) e em para substituir valor de propriedade em arquivo \ program files \ Microsoft SDKs \ \ v TPI [] [] TPV \ \ \ ExtensionSDKs usuário, nome de usuário [] \ Microsoft SDKs \ \ v TPI [] [] TPV \ ExtensionSDKs, e HKLM \ software \ Microsoft \ Microsoft SDKs \ TPI [] [] \ v de TPV \ \ ExtensionSDKs para descobrir o local do disco de extensão SDKs.

O gerenciador de referência abrirá no manifesto do SDK de cada extensão SDK para determinar se a extensão SDK é aplicável para a versão do Visual Studio em que o gerenciador de referência foi chamado, se a extensão SDK é aplicável acordo com Framework de destino do projeto que chamou o gerenciador de referência, e se os valores de atributo de AppliesTo correspondam aos recursos anunciados do sistema do projeto que chamou o gerenciador de referência.Se a extensão SDK é aplicável em todas as maiores, o gerenciador de referência mostrará o DisplayName, versão, e as dependências do SDK e preencherá em mais informações corretamente link de acordo com o manifesto SDK de extensão.

Uma extensão SDK aparece como uma única entrada no gerenciador de referência.Uma vez que adicionada, aparece como um único nó em Gerenciador de Soluções para aplicativos gerenciados e aplicativos de Windows Store compilados para o Windows usando Javascript.O também aparece como uma única entrada nas páginas de propriedades para projetos Visual C++.Agora o usuário não precisará executar qualquer ação adicional.O usuário é definido para o IntelliSense, a caixa de ferramentas, designer, pesquisador de objetos, compilação, implantação, depuração, e empacotar.

ObservaçãoObservação
  1. Baseado no projeto destinava a configuração e arquitetura, o Visual Studio escolher as referências da menos específica para o mais específico.Por exemplo, se a configuração de destino do SDK é depuração e a arquitetura de destino do SDK é x, o Visual Studio enumerará todas as referências, começando com referências \ \ \ commonconfiguration ponto neutro, então referencia \ \ \ commonconfiguration x, então referencia \ \ debug \ ponto neutro, e finalmente referencia \ \ debug \ x.Então removerá todas as duplicatas menos específicas e passar todas as referências para o compilador para o IntelliSense.Essa maneira de referências de recortagem permite ao autor do SDK a flexibilidade de não ter que duplicar suas referências em várias pastas de configuração \ \ arquitetura.

  2. Se um projeto referencia SDK que depende de outro SDK, o Visual Studio não consumirá automaticamente segundo SDK.O usuário deve adicionar manualmente uma referência a segunda SDK.Para ajudar o usuário a deduzir dependências do SDK, na caixa de diálogo do gerenciador de referência, quando o é especificado no guia de extensões, o painel de detalhes lista o nome e a versão do SDK, e (se SDK depende de outro SDK) o nome de dependência SDK.Quando as dependências do SDK não forem atendidas, MSBuild retorna um aviso que solicita ao usuário para adicionar as dependências.

  3. FrameworkIdentity: O Visual Studio é principalmente para FrameworkIdentity- configuração - [] [], arco em FrameworkIdentity- configuração [], em seguida FrameworkIdentity- arco [], e então FrameworkIdentity.Quando encontrar uma correspondência, grava o valor do atributo correspondente.

  4. AppX: O resolvedor SDK tenta escolha o atributo mais específico de AppX pela arquitetura; preferência por ordem decrescente: AppX- configuração - [] [] arco (ou [] AppX- configuração no caso neutro), em seguida AppX- arco [], e finalmente AppX.Por exemplo, se um manifesto SDK especificou os seguintes atributos de AppX: “AppX-x86”, “AppX-debug-x86”, “AppX-x64”, “AppX- BRAÇO”, “AppX- AIE” e “AppX”, e o projeto destinavam a depuração e o x, as opções “AppX-debug-x86” de resolução do SDK, “AppX-x64”, “AppX- BRAÇO”, “AppX- AIE” e “AppX”.

  5. Em um modelo de projeto que referencia o SDK, você deve especificar a referência do SDK da seguinte maneira:

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

Consulte também

Tarefas

Passo a passo: Criando um SDK usando C++

Passo a passo: Criando um SDK usando C#

Conceitos

Gerenciando referências do projeto