.NET Standard.NET Standard

O .NET Standard é uma especificação formal de APIs do .NET que devem estar disponíveis em todas as implementações do .NET.The .NET Standard is a formal specification of .NET APIs that are intended to be available on all .NET implementations. A motivação por trás do .NET Standard é estabelecer maior uniformidade no ecossistema do .NET.The motivation behind the .NET Standard is establishing greater uniformity in the .NET ecosystem. A ECMA 335 continua estabelecendo a uniformidade de comportamento da implementação do .NET, mas não há especificação semelhante para as BCLs (Bibliotecas de Classe Base) do .NET para implementações da biblioteca do .NET.ECMA 335 continues to establish uniformity for .NET implementation behavior, but there's no similar spec for the .NET Base Class Libraries (BCL) for .NET library implementations.

O .NET Standard permite os seguintes principais cenários:The .NET Standard enables the following key scenarios:

  • Define um conjunto uniforme de APIs de BCL para todas as implementações do .NET a serem implementadas, independentemente da carga de trabalho.Defines uniform set of BCL APIs for all .NET implementations to implement, independent of workload.
  • Permite que os desenvolvedores criem bibliotecas portáteis, utilizáveis entre implementações do .NET, usando esse mesmo conjunto de APIs.Enables developers to produce portable libraries that are usable across .NET implementations, using this same set of APIs.
  • Reduz ou até elimina a compilação condicional de origem compartilhada em razão das APIs do .NET, apenas para APIs do sistema operacional.Reduces or even eliminates conditional compilation of shared source due to .NET APIs, only for OS APIs.

As diversas implementações do .NET se destinam a versões específicas do .NET Standard.The various .NET implementations target specific versions of .NET Standard. Cada versão de implementação do .NET anuncia a versão mais alta do .NET Standard a qual ela dá suporte, uma afirmação que significa que também há suporte para versões anteriores.Each .NET implementation version advertises the highest .NET Standard version it supports, a statement that means it also supports previous versions. Por exemplo, o .NET Framework 4.6 implementa o .NET Standard 1.3, o que significa que ele expõe todas as APIs definidas nas versões 1.0 a 1.3 do .NET Standard.For example, the .NET Framework 4.6 implements .NET Standard 1.3, which means that it exposes all APIs defined in .NET Standard versions 1.0 through 1.3. Da mesma forma, o .NET Framework 4.6.1 implementa o .NET Standard 1.4, enquanto o .NET Core 1.0 implementa o .NET Standard 1.6.Similarly, the .NET Framework 4.6.1 implements .NET Standard 1.4, while .NET Core 1.0 implements .NET Standard 1.6.

Suporte à implementação do .NET.NET implementation support

A seguinte tabela lista as versões de plataforma mínimas que dão suporte a cada versão do .NET Standard.The following table lists the minimum platform versions that support each .NET Standard version. Isso significa que versões posteriores de uma plataforma listada também dão suporte para a versão correspondente do .NET Standard.That means that later versions of a listed platform also support the corresponding .NET Standard version. Por exemplo, o .NET Core 2.2 dá suporte ao .NET Standard 2.0 e anteriores.For example, .NET Core 2.2 supports .NET Standard 2.0 and earlier.

.NET Standard.NET Standard 1.01.0 1.11.1 1.21.2 1.31.3 1.41.4 1.51.5 1.61.6 2.02.0 2.12.1
.NET Core.NET Core 1.01.0 1.01.0 1.01.0 1.01.0 1.01.0 1.01.0 1.01.0 2.02.0 3.03.0
.NET Framework 1.NET Framework 1 4.54.5 4.54.5 4.5.14.5.1 4.64.6 4.6.14.6.1 4.6.1 24.6.1 2 4.6.1 24.6.1 2 4.6.1 24.6.1 2 N/A3N/A3
MonoMono 4.64.6 4.64.6 4.64.6 4.64.6 4.64.6 4.64.6 4.64.6 5.45.4 6.46.4
Xamarin.iOSXamarin.iOS 10.010.0 10.010.0 10.010.0 10.010.0 10.010.0 10.010.0 10.010.0 10.1410.14 12.1612.16
Xamarin.MacXamarin.Mac 3.03.0 3.03.0 3.03.0 3.03.0 3.03.0 3.03.0 3.03.0 3.83.8 5,165.16
Xamarin.AndroidXamarin.Android 7.07.0 7.07.0 7.07.0 7.07.0 7.07.0 7.07.0 7.07.0 8.08.0 10.010.0
Plataforma Universal do WindowsUniversal Windows Platform 10.010.0 10.010.0 10.010.0 10.010.0 10.010.0 10.0.1629910.0.16299 10.0.1629910.0.16299 10.0.1629910.0.16299 TBDTBD
UnityUnity 2018.12018.1 2018.12018.1 2018.12018.1 2018.12018.1 2018.12018.1 2018.12018.1 2018.12018.1 2018.12018.1 TBDTBD

1 As versões listadas para o .NET Framework se aplicam ao SDK do .NET Core 2.0 e versões posteriores das ferramentas. Versões antigas usavam um mapeamento diferente para o .NET Standard 1.5 e superiores. Você pode fazer o download das ferramentas do .NET Core para Visual Studio 2015 se não puder atualizar para o Visual Studio 2017.1 The versions listed for .NET Framework apply to .NET Core 2.0 SDK and later versions of the tooling. Older versions used a different mapping for .NET Standard 1.5 and higher. You can download tooling for .NET Core tools for Visual Studio 2015 if you cannot upgrade to Visual Studio 2017.

2 As versões listadas aqui representam as regras que o NuGet usa para determinar se uma alguma biblioteca do .NET Standard é aplicável. Embora o NuGet considere o .NET Framework 4.6.1 como compatível com o .NET Standard 1.5 a 2.0, há vários problemas com o consumo de bibliotecas do .NET Standard que foram criadas para essas versões de projetos do .NET Framework 4.6.1. Para projetos do .NET Framework que precisam usar essas bibliotecas, recomendamos que você atualize o projeto para o .NET Framework 4.7.2 ou superior.2 The versions listed here represent the rules that NuGet uses to determine whether a given .NET Standard library is applicable. While NuGet considers .NET Framework 4.6.1 as supporting .NET Standard 1.5 through 2.0, there are several issues with consuming .NET Standard libraries that were built for those versions from .NET Framework 4.6.1 projects. For .NET Framework projects that need to use such libraries, we recommend that you upgrade the project to target .NET Framework 4.7.2 or higher.

3 O .NET Framework não dá suporte ao .NET Standard 2.1 nem a versões posteriores. Para obter mais detalhes, confira o comunicado do .NET Standard 2.1.3 .NET Framework won't support .NET Standard 2.1 or later versions. For more details, see the announcement of .NET Standard 2.1.

  • As colunas representam versões do .NET Standard.The columns represent .NET Standard versions. Cada célula de cabeçalho é um link para um documento que mostra quais APIs foram adicionadas a essa versão do .NET Standard.Each header cell is a link to a document that shows which APIs got added in that version of .NET Standard.
  • As linhas representam as diferentes implementações do .NET.The rows represent the different .NET implementations.
  • O número de versão em cada célula indica a versão mínima da implementação de que você precisará para direcionar essa versão do .NET Standard.The version number in each cell indicates the minimum version of the implementation you'll need in order to target that .NET Standard version.
  • Para obter uma tabela interativa, consulte Versões do .NET Standard.For an interactive table, see .NET Standard versions.

Para localizar a versão mais recente do .NET Standard para a qual você pode direcionar, siga estas etapas:To find the highest version of .NET Standard that you can target, do the following steps:

  1. Localize a linha que indica a implementação do .NET na qual você deseja executar.Find the row that indicates the .NET implementation you want to run on.
  2. Localize a coluna nessa linha que indica sua versão, da direita para a esquerda.Find the column in that row that indicates your version starting from right to left.
  3. O cabeçalho da coluna indica a versão do .NET Standard compatível com o destino.The column header indicates the .NET Standard version that your target supports. Você também pode ter como destino qualquer versão inferior do .NET Standard.You may also target any lower .NET Standard version. Versões superiores do .NET Standard também darão suporte à implementação.Higher .NET Standard versions will also support your implementation.
  4. Repita esse processo para cada plataforma de destino.Repeat this process for each platform you want to target. Se você tiver mais de uma plataforma de destino, escolha a versão menos recente entre elas.If you have more than one target platform, you should pick the smaller version among them. Por exemplo, se você quiser executar no .NET Framework 4.5 e no .NET Core 1.0, a versão mais recente do .NET Standard que você pode usar é o .NET Standard 1.1.For example, if you want to run on .NET Framework 4.5 and .NET Core 1.0, the highest .NET Standard version you can use is .NET Standard 1.1.

Para qual versão do .NET Standard direcionarWhich .NET Standard version to target

Ao escolher uma versão do .NET Standard, você deve considerar a seguinte compensação:When choosing a .NET Standard version, you should consider this trade-off:

  • Quanto mais recente a versão, mais APIs estarão disponíveis para você.The higher the version, the more APIs are available to you.
  • Quanto menos recente a versão, mais plataformas a implementarão.The lower the version, the more platforms implement it.

Em geral, recomendamos que você direcione para a versão menos recente possível do .NET Standard.In general, we recommend you to target the lowest version of .NET Standard possible. Portanto, depois de localizar a versão mais recente do .NET Standard para a qual você pode direcionar, execute estas etapas:So, after you find the highest .NET Standard version you can target, follow these steps:

  1. Direcione para a próxima versão menos recente do .NET Standard e compile seu projeto.Target the next lower version of .NET Standard and build your project.
  2. Se seu projeto for compilado com êxito, repita a etapa 1.If your project builds successfully, repeat step 1. Caso contrário, redirecione para a próxima versão mais recente, e essa será a versão que você deve usar.Otherwise, retarget to the next higher version and that's the version you should use.

No entanto, ter como destino versões do .NET Standard inferiores introduz diversas dependências de suporte.However, targeting lower .NET Standard versions introduces a number of support dependencies. Se o projeto for destinado ao .NET Standard 1.x, recomendamos que você também tenha como destino o .NET Standard 2.0.If your project targets .NET Standard 1.x, we recommend that you also target .NET Standard 2.0. Isso simplifica o grafo de dependência para os usuários da sua biblioteca executados em estruturas compatíveis do .NET Standard 2.0, além de reduzir o número de pacotes que eles precisam baixar.This simplifies the dependency graph for users of your library that run on .NET Standard 2.0 compatible frameworks, and it reduces the number of packages they need to download.

Regras de controle de versão do .NET Standard.NET Standard versioning rules

Há duas regras principais de controle de versão:There are two primary versioning rules:

  • Aditivo: as versões do .NET Standard são círculos logicamente concêntricos: versões mais recentes incorporam todas as APIs das versões anteriores.Additive: .NET Standard versions are logically concentric circles: higher versions incorporate all APIs from previous versions. Não há alterações significativas entre as versões.There are no breaking changes between versions.
  • Imutável: após o envio, as versões do .NET Standard serão congeladas.Immutable: Once shipped, .NET Standard versions are frozen. As novas APIs ficarão disponíveis primeiro em implementações específicas do .NET, como .NET Core.New APIs first become available in specific .NET implementations, such as .NET Core. Se a banca examinadora do .NET Standard achar que as novas APIs devem estar disponíveis para todas as implementações do .NET, elas serão adicionadas em uma nova versão do .NET Standard.If the .NET Standard review board believes the new APIs should be available for all .NET implementations, they're added in a new .NET Standard version.

EspecificaçãoSpecification

A especificação do .NET Standard é um conjunto padronizado de APIs.The .NET Standard specification is a standardized set of APIs. A especificação é mantida por implementadores do .NET, especificamente Microsoft (inclui o .NET Framework, .NET Core e Mono) e Unity.The specification is maintained by .NET implementors, specifically Microsoft (includes .NET Framework, .NET Core, and Mono) and Unity. Um processo de comentários público é usado como parte do estabelecimento de novas versões do .NET Standard por meio do GitHub.A public feedback process is used as part of establishing new .NET Standard versions through GitHub.

Artefatos oficiaisOfficial artifacts

A especificação oficial é um conjunto de arquivos .cs que definem as APIs que fazem parte do padrão.The official specification is a set of .cs files that define the APIs that are part of the standard. O diretório ref em dotnet/standard repository define as APIs do .NET Standard.The ref directory in the dotnet/standard repository defines the .NET Standard APIs.

O metapacote NETStandard.Library (de origem) descreve o conjunto de bibliotecas que define (parcialmente) uma ou mais versões do .NET Standard.The NETStandard.Library metapackage (source) describes the set of libraries that define (in part) one or more .NET Standard versions.

Um componente específico, como o System.Runtime, descreve:A given component, like System.Runtime, describes:

  • Parte do .NET Standard (apenas seu escopo).Part of .NET Standard (just its scope).
  • Várias versões do .NET Standard, para esse escopo.Multiple versions of .NET Standard, for that scope.

Artefatos derivados são fornecidos para habilitar leitura mais conveniente e permitir determinados cenários do desenvolvedor (por exemplo, usando um compilador).Derivative artifacts are provided to enable more convenient reading and to enable certain developer scenarios (for example, using a compiler).

Representação de pacotePackage representation

O meio de distribuição principal dos assemblies de referência do .NET Standard são os pacotes NuGet.The primary distribution vehicle for the .NET Standard reference assemblies is NuGet packages. As implementações são entregues de várias formas, apropriadas para cada implementação do .NET.Implementations are delivered in a variety of ways, appropriate for each .NET implementation.

Pacotes NuGet são direcionados a uma ou mais estruturas.NuGet packages target one or more frameworks. Os pacotes do .NET Standard são direcionados à estrutura do ".NET Standard".The .NET Standard packages target the ".NET Standard" framework. É possível direcionar a estrutura do .NET Standard usando o netstandard TFM compacto (por exemplo, netstandard1.4).You can target the .NET Standard framework using the netstandard compact TFM (for example, netstandard1.4). Bibliotecas destinadas à execução em vários tempos de execução devem ter essa estrutura como destino.Libraries that are intended to run on multiple runtimes should target this framework. Para obter o mais amplo conjunto de APIs, direcione netstandard2.0, pois o número de APIs disponíveis mais do que dobrou entre o .NET Standard 1.6 e 2.0.For the broadest set of APIs, target netstandard2.0 since the number of available APIs more than doubled between .NET Standard 1.6 and 2.0.

O metapacote NETStandard.Library referencia o conjunto completo de pacotes NuGet que definem o .NET Standard.The NETStandard.Library metapackage references the complete set of NuGet packages that define .NET Standard. A maneira mais comum de apontar netstandard é fazer referência a esse metapacote.The most common way to target netstandard is by referencing this metapackage. Ele descreve e fornece acesso às ~40 bibliotecas .NET e APIs associadas, que definem a .NET Standard.It describes and provides access to the ~40 .NET libraries and associated APIs that define .NET Standard. Você pode referenciar pacotes adicionais destinados a netstandard para obter acesso a APIs adicionais.You can reference additional packages that target netstandard to get access to additional APIs.

Controle de versãoVersioning

A especificação não é única, mas um conjunto de versões de APIs de crescimento incremental e linear.The specification is not singular, but an incrementally growing and linearly versioned set of APIs. A primeira versão do padrão estabelece um conjunto de linhas de base de APIs.The first version of the standard establishes a baseline set of APIs. As versões subsequentes adicionam APIs e herdam APIs definidas por versões anteriores.Subsequent versions add APIs and inherit APIs defined by previous versions. Não há nenhuma provisão estabelecido para remoção de APIs do padrão.There is no established provision for removing APIs from the standard.

O .NET Standard não é específico a nenhuma implementação do .NET, nem corresponde ao esquema de controle de versão de nenhum desses tempos de execução..NET Standard is not specific to any one .NET implementation, nor does it match the versioning scheme of any of those runtimes.

APIs adicionadas a qualquer implementação (por exemplo, .NET Framework, .NET Core e Mono) podem ser consideradas como candidatas a serem adicionadas à especificação, especialmente se forem consideradas fundamentais por natureza.APIs added to any of the implementations (such as, .NET Framework, .NET Core and Mono) can be considered as candidates to add to the specification, particularly if they are thought to be fundamental in nature. As novas versões do .NET Standard são criadas com base em versões de implementação do .NET, permitindo que você destine a novas APIs de uma PCL do .NET Standard.New versions of .NET Standard are created based on .NET implementation releases, enabling you to target new APIs from a .NET Standard PCL. Os mecanismos de controle de versão são descritos mais detalhadamente em Controle de versão do .NET Core.The versioning mechanics are described in more detail in .NET Core Versioning.

O controle de versão do .NET Standard é importante para uso..NET Standard versioning is important for usage. Com uma versão do .NET Standard você pode usar bibliotecas direcionadas a essa mesma versão ou inferior.Given a .NET Standard version, you can use libraries that target that same or lower version. A abordagem a seguir descreve o fluxo de trabalho para uso de PCLs do .NET Standard, específico ao direcionamento do .NET Standard.The following approach describes the workflow for using .NET Standard PCLs, specific to .NET Standard targeting.

  • Selecione uma versão do .NET Standard a ser usada para a PCL.Select a .NET Standard version to use for your PCL.
  • Use bibliotecas que dependem da mesma versão do .NET Standard ou inferior.Use libraries that depend on the same .NET Standard version or lower.
  • Se você encontrar uma biblioteca que depende de uma versão mais recente do .NET Standard, deverá adotar essa mesma versão ou decidir não usar essa biblioteca.If you find a library that depends on a higher .NET Standard version, you either need to adopt that same version or decide not to use that library.

Direcionamento do .NET StandardTargeting .NET Standard

Você pode criar .NET Standard Libraries usando uma combinação de netstandard estrutura e metapacote NETStandard.Library.You can build .NET Standard Libraries using a combination of the netstandard framework and the NETStandard.Library metapackage. Você pode ver exemplos de direcionamento do .NET Standard com as ferramentas do .NET Core.You can see examples of targeting the .NET Standard with .NET Core tools.

Modo de compatibilidade do .NET framework.NET Framework compatibility mode

O modo de compatibilidade do .NET Framework foi introduzido a partir do .NET Standard 2.0.Starting with .NET Standard 2.0, the .NET Framework compatibility mode was introduced. Esse modo de compatibilidade permite que os projetos do .NET Standard referenciem as bibliotecas do .NET Framework como se elas fossem compiladas para o .NET Standard.This compatibility mode allows .NET Standard projects to reference .NET Framework libraries as if they were compiled for .NET Standard. Fazer referência a bibliotecas do .NET Framework não funciona para todos os projetos, como as bibliotecas que usam APIs do WPF (Windows Presentation Foundation).Referencing .NET Framework libraries doesn't work for all projects, such as libraries that use Windows Presentation Foundation (WPF) APIs.

Para obter mais informações, veja .NET Framework compatibility mode (Modo de compatibilidade do .NET Framework).For more information, see .NET Framework compatibility mode.

Bibliotecas do .NET standard e Visual Studio.NET Standard libraries and Visual Studio

Para criar bibliotecas do .NET Standard no Visual Studio, verifique se tem o Visual Studio 2017 versão 15.3 ou posterior instalado no Windows ou o Visual Studio para Mac versão 7.1 ou posterior instalado no macOS.In order to build .NET Standard libraries in Visual Studio, make sure you have Visual Studio 2017 version 15.3 or later installed on Windows, or Visual Studio for Mac version 7.1 or later installed on macOS.

Se você precisar apenas consumir as bibliotecas do .NET Standard 2.0 em seus projetos, também será possível fazer isso no Visual Studio 2015.If you only need to consume .NET Standard 2.0 libraries in your projects, you can also do that in Visual Studio 2015. No entanto, é necessário ter o NuGet cliente 3.6 ou posterior instalado.However, you need NuGet client 3.6 or higher installed. É possível baixar o cliente do NuGet para Visual Studio 2015 na página downloads do NuGet.You can download the NuGet client for Visual Studio 2015 from the NuGet downloads page.

Comparação com bibliotecas de classes portáteisComparison to Portable Class Libraries

O .NET Standard é o substituto das PCLs (Bibliotecas de classe portáteis)..NET Standard is the replacement for Portable Class Libraries (PCL). O .NET Standard aprimora a experiência de criar bibliotecas portáteis, selecionando um BCL padrão e estabelecendo maior uniformidade entre as implementações do .NET como resultado.The .NET Standard improves on the experience of creating portable libraries by curating a standard BCL and establishing greater uniformity across .NET implementations as a result. Uma biblioteca direcionada ao .NET Standard é uma PCL ou uma “PCL baseada no .NET Standard”.A library that targets .NET Standard is a PCL or a ".NET Standard-based PCL". PCLs existentes são "PCLs baseadas em perfil".Existing PCLs are "profile-based PCLs".

Os perfis do .NET Standard e da PCL foram criados para finalidades semelhantes, mas também diferem de maneiras básicas..NET Standard and PCL profiles were created for similar purposes but also differ in key ways.

Semelhanças:Similarities:

  • Definem APIs que podem ser usadas para compartilhamento de código binário.Define APIs that can be used for binary code sharing.

Diferenças:Differences:

  • O .NET Standard é um conjunto estruturado de APIs, enquanto os perfis de PCL são definidos por interseções de plataformas existentes..NET Standard is a curated set of APIs, while PCL profiles are defined by intersections of existing platforms.
  • O .NET Standard tem versões lineares, ao passo que os perfis de PCL não..NET Standard linearly versions, while PCL profiles do not.
  • Os perfis de PCL representam plataformas da Microsoft, enquanto o .NET Standard é independente de plataforma.PCL profiles represents Microsoft platforms while the .NET Standard is platform-agnostic.

Compatibilidade com PCLPCL compatibility

O .NET Standard é compatível com um subconjunto de perfis de PCL..NET Standard is compatible with a subset of PCL profiles. O .NET Standard 1.0, 1.1 e 1.2 se sobrepõem, cada um, com um conjunto de perfis de PCL..NET Standard 1.0, 1.1 and 1.2 each overlap with a set of PCL profiles. Essa sobreposição foi criada por dois motivos:This overlap was created for two reasons:

  • Habilite PCLs baseadas no .NET Standard para referenciar PCLs baseadas em perfil.Enable .NET Standard-based PCLs to reference profile-based PCLs.
  • Permita que PCLs baseadas em perfil sejam empacotadas como PCLs baseadas no .NET Standard.Enable profile-based PCLs to be packaged as .NET Standard-based PCLs.

Compatibilidade de PCL baseada em perfil é fornecida pelo pacote NuGet. Microsoft.NETCore.Portable.Compatibility.Profile-based PCL compatibility is provided by the Microsoft.NETCore.Portable.Compatibility NuGet package. Essa dependência é necessária ao referenciar pacotes NuGet que contêm PCLs baseadas em perfil.This dependency is required when referencing NuGet packages that contain profile-based PCLs.

PCLs baseadas em perfil e empacotadas como netstandard são mais fáceis de serem consumidas do que PCLs baseadas em perfil tipicamente empacotadas.Profile-based PCLs packaged as netstandard are easier to consume than typically packaged profile-based PCLs. netstandard o empacotamento é compatível com os usuários existentes.netstandard packaging is compatible with existing users.

Você pode ver o conjunto de perfis PCL que são compatíveis com o .NET Standard:You can see the set of PCL profiles that are compatible with the .NET Standard:

Perfil do PCLPCL Profile .NET Standard.NET Standard Plataformas PCLPCL Platforms
Profile7Profile7 1.11.1 .NET Framework 4.5, Windows 8.NET Framework 4.5, Windows 8
Profile31Profile31 1.01.0 Windows 8.1, Windows Phone Silverlight 8.1Windows 8.1, Windows Phone Silverlight 8.1
Profile32Profile32 1.21.2 Windows 8.1, Windows Phone 8.1Windows 8.1, Windows Phone 8.1
Profile44Profile44 1.21.2 .NET Framework 4.5.1, Windows 8.1.NET Framework 4.5.1, Windows 8.1
Profile49Profile49 1.01.0 .NET Framework 4.5, Windows Phone Silverlight 8.NET Framework 4.5, Windows Phone Silverlight 8
Profile78Profile78 1.01.0 .NET Framework 4.5, Windows 8, Windows Phone Silverlight 8.NET Framework 4.5, Windows 8, Windows Phone Silverlight 8
Profile84Profile84 1.01.0 Windows Phone 8.1, Windows Phone Silverlight 8.1Windows Phone 8.1, Windows Phone Silverlight 8.1
Profile111Profile111 1.11.1 .NET Framework 4.5, Windows 8, Windows Phone 8.1.NET Framework 4.5, Windows 8, Windows Phone 8.1
Profile151Profile151 1.21.2 .NET Framework 4.5.1, Windows 8.1, Windows Phone 8.1.NET Framework 4.5.1, Windows 8.1, Windows Phone 8.1
Profile157Profile157 1.01.0 Windows 8.1, Windows Phone 8.1, Windows Phone Silverlight 8.1Windows 8.1, Windows Phone 8.1, Windows Phone Silverlight 8.1
Profile259Profile259 1.01.0 .NET Framework 4.5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8.NET Framework 4.5, Windows 8, Windows Phone 8.1, Windows Phone Silverlight 8

Consulte tambémSee also