Suporte do .NET Framework para aplicativos da Windows Store e Windows Runtime .NET Framework Support for Windows Store Apps and Windows Runtime

O .NET Framework 4,5 dá suporte a vários cenários de desenvolvimento de software com o Windows Runtime.The .NET Framework 4.5 supports a number of software development scenarios with the Windows Runtime. Esses cenários se enquadram em três categorias:These scenarios fall into three categories:

Este tópico descreve o suporte que o .NET Framework fornece para todas as três categorias, além de descrever os cenários de Windows Runtime componentes.This topic outlines the support that the .NET Framework provides for all three categories, and describes the scenarios for Windows Runtime Components. A primeira seção inclui informações básicas sobre a relação entre o .NET Framework e o Windows Runtime e explica algumas singularidades que você pode encontrar no sistema de ajuda e no IDE.The first section includes basic information about the relationship between the .NET Framework and the Windows Runtime, and explains some oddities you might encounter in the Help system and the IDE. A segunda seção discute cenários para o desenvolvimento de componentes Windows Runtime.The second section discusses scenarios for developing Windows Runtime Components.

Noções básicasThe Basics

O .NET Framework dá suporte aos três cenários de desenvolvimento listados anteriormente, fornecendo o .NET para aplicativos da loja do Windows 8. x e oferecendo suporte ao Windows Runtime em si.The .NET Framework supports the three development scenarios listed earlier by providing .NET for Windows 8.x Store apps, and by supporting the Windows Runtime itself.

  • Os namespaces .NET Framework e Windows Runtime fornecem uma visão simplificada das bibliotecas de classes de .NET Framework e incluem apenas os tipos e os membros que você pode usar para criar aplicativos de armazenamento do Windows 8. x e componentes de Windows Runtime..NET Framework and Windows Runtime namespaces provides a streamlined view of the .NET Framework class libraries and include only the types and members you can use to create Windows 8.x Store apps and Windows Runtime Components.

    • Quando você usa o Visual Studio (Visual Studio 2012 ou posterior) para desenvolver um aplicativo da loja do Windows 8. x ou um componente Windows Runtime, um conjunto de assemblies de referência garante que você veja apenas os tipos e membros relevantes.When you use Visual Studio (Visual Studio 2012 or later) to develop a Windows 8.x Store app or a Windows Runtime component, a set of reference assemblies ensures that you see only the relevant types and members.

    • Esse conjunto de APIs simplificado é simplificado mais detalhadamente pela remoção de recursos duplicados dentro do .NET Framework ou por duplicação de recursos de Windows Runtime.This streamlined API set is simplified further by the removal of features that are duplicated within the .NET Framework or that duplicate Windows Runtime features. Por exemplo, ele contém apenas as versões genéricas dos tipos de coleção, e o modelo de objeto de documento XML é eliminado em favor do conjunto de API XML Windows Runtime.For example, it contains only the generic versions of collection types, and the XML document object model is eliminated in favor of the Windows Runtime XML API set.

    • Os recursos que simplesmente encapsulam a API do sistema operacional também são removidos, porque a Windows Runtime é fácil de chamar a partir de código gerenciado.Features that simply wrap the operating system API are also removed, because the Windows Runtime is easy to call from managed code.

    Para ler mais sobre o .NET para aplicativos da loja do Windows 8. x, consulte a visão geral do .net para aplicativos da Windows Store.To read more about the .NET for Windows 8.x Store apps, see the .NET for Windows Store apps overview. Para ler sobre o processo de seleção de API, consulte a entrada .net para aplicativos estilo Metro no blog do .net.To read about the API selection process, see the .NET for Metro style apps entry in the .NET blog.

  • O Windows Runtime fornece os elementos da interface do usuário para a criação de aplicativos da loja do Windows 8. x e fornece acesso aos recursos do sistema operacional.The Windows Runtime provides the user interface elements for building Windows 8.x Store apps, and provides access to operating system features. Assim como o .NET Framework, o Windows Runtime tem metadados que permitem que os compiladores C# e Visual Basic usem o Windows Runtime como eles usam as bibliotecas de classe .NET Framework.Like the .NET Framework, the Windows Runtime has metadata that enables the C# and Visual Basic compilers to use the Windows Runtime the way they use the .NET Framework class libraries. O .NET Framework torna mais fácil usar o Windows Runtime ocultando algumas diferenças:The .NET Framework makes it easier to use the Windows Runtime by hiding some differences:

    • Algumas diferenças nos padrões de programação entre o .NET Framework e o Windows Runtime, como o padrão para adicionar e remover manipuladores de eventos, estão ocultas.Some differences in programming patterns between the .NET Framework and the Windows Runtime, such as the pattern for adding and removing event handlers, are hidden. Basta usar o padrão de .NET Framework.You simply use the .NET Framework pattern.

    • Algumas diferenças em tipos comumente usados (por exemplo, tipos primitivos e coleções) são ocultas.Some differences in commonly used types (for example, primitive types and collections) are hidden. Você simplesmente usa o tipo de .NET Framework, conforme discutido em diferenças que são visíveis no IDE, mais adiante neste artigo.You simply use the .NET Framework type, as discussed in Differences That Are Visible in the IDE, later in this article.

Na maioria das vezes, .NET Framework suporte para o Windows Runtime é transparente.Most of the time, .NET Framework support for the Windows Runtime is transparent. A próxima seção aborda algumas das diferenças aparentes entre o código gerenciado e o Windows Runtime.The next section discusses some of the apparent differences between managed code and the Windows Runtime.

A .NET Framework e a documentação de referência do Windows RuntimeThe .NET Framework and the Windows Runtime Reference Documentation

O Windows Runtime e os conjuntos de documentação .NET Framework são separados.The Windows Runtime and the .NET Framework documentation sets are separate. Se você pressionar F1 para exibir a ajuda em um tipo ou membro, a documentação de referência do conjunto apropriado será exibida.If you press F1 to display Help on a type or member, reference documentation from the appropriate set is displayed. No entanto, se você navegar pela referência de Windows Runtime , poderá encontrar exemplos que parecem enigmático:However, if you browse through the Windows Runtime reference you might encounter examples that seem puzzling:

  • Tópicos como a IIterable<T> interface não têm sintaxe de declaração para Visual Basic ou C#.Topics such as the IIterable<T> interface don't have declaration syntax for Visual Basic or C#. Em vez disso, uma observação aparece acima da seção de sintaxe (nesse caso, ".NET: essa interface aparece como System. Collections. Generic. IEnumerable <T> ").Instead, a note appears above the syntax section (in this case, ".NET: This interface appears as System.Collections.Generic.IEnumerable<T>"). Isso ocorre porque o .NET Framework e o Windows Runtime fornecem funcionalidade semelhante com interfaces diferentes.This is because the .NET Framework and the Windows Runtime provide similar functionality with different interfaces. Além disso, há diferenças comportamentais: IIterable tem um First método em vez de um GetEnumerator método para retornar o enumerador.In addition, there are behavioral differences: IIterable has a First method instead of a GetEnumerator method to return the enumerator. Em vez de forçá-lo a aprender uma maneira diferente de executar uma tarefa comum, o .NET Framework dá suporte ao Windows Runtime, fazendo com que seu código gerenciado pareça usar o tipo com o qual você está familiarizado.Instead of forcing you to learn a different way of performing a common task, the .NET Framework supports the Windows Runtime by making your managed code appear to use the type you're familiar with. Você não verá a IIterable interface no IDE e, portanto, a única maneira de encontrá-la na documentação de referência do Windows Runtime é navegar diretamente pela documentação.You won't see the IIterable interface in the IDE, and therefore the only way you'll encounter it in the Windows Runtime reference documentation is by browsing through that documentation directly.

  • A SyndicationFeed(String, String, Uri) documentação ilustra um problema bem relacionado: seus tipos de parâmetro parecem ser diferentes para idiomas diferentes.The SyndicationFeed(String, String, Uri) documentation illustrates a closely related issue: Its parameter types appear to be different for different languages. Para C# e Visual Basic, os tipos de parâmetro são System.String e System.Uri .For C# and Visual Basic, the parameter types are System.String and System.Uri. Novamente, isso ocorre porque as .NET Framework têm seus próprios String Uri tipos e, para esses tipos comumente usados, não faz sentido forçar .NET Framework usuários a aprenderem uma maneira diferente de fazer as coisas.Again, this is because the .NET Framework has its own String and Uri types, and for such commonly used types it doesn't make sense to force .NET Framework users to learn a different way of doing things. No IDE, a .NET Framework oculta os tipos de Windows Runtime correspondentes.In the IDE, the .NET Framework hides the corresponding Windows Runtime types.

  • Em alguns casos, como a GridLength estrutura, o .NET Framework fornece um tipo com o mesmo nome, mas com mais funcionalidade.In a few cases, such as the GridLength structure, the .NET Framework provides a type with the same name but more functionality. Por exemplo, um conjunto de tópicos de construtor e propriedade está associado a GridLength , mas eles têm blocos de sintaxe somente para Visual Basic e C# porque os membros estão disponíveis somente em código gerenciado.For example, a set of constructor and property topics are associated with GridLength, but they have syntax blocks only for Visual Basic and C# because the members are available only in managed code. No Windows Runtime, as estruturas têm apenas campos.In the Windows Runtime, structures have only fields. A estrutura de Windows Runtime requer uma classe auxiliar, GridLengthHelper , para fornecer funcionalidade equivalente.The Windows Runtime structure requires a helper class, GridLengthHelper, to provide equivalent functionality. Você não verá essa classe auxiliar no IDE quando estiver escrevendo código gerenciado.You won't see that helper class in the IDE when you're writing managed code.

  • No IDE, os tipos de Windows Runtime parecem derivar de System.Object .In the IDE, Windows Runtime types appear to derive from System.Object. Eles parecem ter membros herdados do Object , como Object.ToString .They appear to have members inherited from Object, such as Object.ToString. Esses membros operam da mesma forma que os tipos herdados Object , e os tipos de Windows Runtime podem ser convertidos Object .These members operate as they would if the types actually inherited from Object, and Windows Runtime types can be cast to Object. Essa funcionalidade faz parte do suporte que o .NET Framework fornece para o Windows Runtime.This functionality is part of the support that the .NET Framework provides for the Windows Runtime. No entanto, se você exibir os tipos na documentação de referência do Windows Runtime, nenhum desses membros será exibido.However, if you view the types in the Windows Runtime reference documentation, no such members appear. A documentação para esses membros herdados aparentes é fornecida pela System.Object documentação de referência.The documentation for these apparent inherited members is provided by the System.Object reference documentation.

Diferenças visíveis no IDEDifferences That Are Visible in the IDE

Em cenários de programação mais avançados, como usar um componente de Windows Runtime escrito em C# para fornecer a lógica do aplicativo para um aplicativo de armazenamento do Windows 8. x criado para Windows usando JavaScript, essas diferenças são aparentes no IDE, bem como na documentação.In more advanced programming scenarios, such as using a Windows Runtime component written in C# to provide the application logic for a Windows 8.x Store app built for Windows using JavaScript, such differences are apparent in the IDE as well as in the documentation. Quando o componente retorna um IDictionary<int, string> para JavaScript e você o examina no depurador do JavaScript, você verá os métodos de IMap<int, string> porque o JavaScript usa o tipo de Windows Runtime.When your component returns an IDictionary<int, string> to JavaScript, and you look at it in the JavaScript debugger, you'll see the methods of IMap<int, string> because JavaScript uses the Windows Runtime type. Alguns tipos de coleção comumente usados que aparecem de forma diferente nos dois idiomas são mostrados na tabela a seguir:Some commonly used collection types that appear differently in the two languages are shown in the following table:

Tipo do Windows RuntimeWindows Runtime type Tipo de .NET Framework correspondenteCorresponding .NET Framework type
IIterable<T> IEnumerable<T>
IIterator<T> IEnumerator<T>
IVector<T> IList<T>
IVectorView<T> IReadOnlyList<T>
IMap<K, V> IDictionary<TKey, TValue>
IMapView<K, V> IReadOnlyDictionary<TKey, TValue>
IBindableIterable IEnumerable
IBindableVector IList
Windows.UI.Xaml.Data.INotifyPropertyChanged System.ComponentModel.INotifyPropertyChanged
Windows.UI.Xaml.Data.PropertyChangedEventHandler System.ComponentModel.PropertyChangedEventHandler
Windows.UI.Xaml.Data.PropertyChangedEventArgs System.ComponentModel.PropertyChangedEventArgs

No Windows Runtime, IMap<K, V> e IMapView<K, V> são iterados usando IKeyValuePair .In the Windows Runtime, IMap<K, V> and IMapView<K, V> are iterated using IKeyValuePair. Quando você os transmite para código gerenciado, eles aparecem como IDictionary<TKey, TValue> e IReadOnlyDictionary<TKey, TValue>, então, naturalmente, você usa System.Collections.Generic.KeyValuePair<TKey, TValue> para enumerá-los.When you pass them to managed code, they appear as IDictionary<TKey, TValue> and IReadOnlyDictionary<TKey, TValue>, so naturally you use System.Collections.Generic.KeyValuePair<TKey, TValue> to enumerate them.

A forma como as interfaces aparecem no código gerenciado afeta a forma como aparecem os tipos que implementam essas interfaces.The way interfaces appear in managed code affects the way types that implement these interfaces appear. Por exemplo, a classe PropertySet implementa IMap<K, V>, que aparece no código gerenciado como IDictionary<TKey, TValue>.For example, the PropertySet class implements IMap<K, V>, which appears in managed code as IDictionary<TKey, TValue>. PropertySet aparece como se ele tivesse implementado IDictionary<TKey, TValue> em vez de IMap<K, V>, por isso, no código gerenciado, ele parece ter um método Add, que se comporta como o método Add em dicionários do .NET Framework.PropertySet appears as if it implemented IDictionary<TKey, TValue> instead of IMap<K, V>, so in managed code it appears to have an Add method, which behaves like the Add method on .NET Framework dictionaries. Ela não parece ter um método Insert.It doesn't appear to have an Insert method.

Para obter mais informações sobre como usar o .NET Framework para criar um componente de Windows Runtime e um passo a passos que mostra como usar esse componente com JavaScript, consulte criando componentes Windows Runtime em C# e Visual Basic.For more information about using the .NET Framework to create a Windows Runtime component, and a walkthrough that shows how to use such a component with JavaScript, see Creating Windows Runtime Components in C# and Visual Basic.

Tipos primitivosPrimitive Types

Para habilitar o uso natural do Windows Runtime no código gerenciado, .NET Framework tipos primitivos aparecem em vez de Windows Runtime tipos primitivos em seu código.To enable the natural use of the Windows Runtime in managed code, .NET Framework primitive types appear instead of Windows Runtime primitive types in your code. No .NET Framework, os tipos primitivos como a estrutura Int32, têm muitas propriedades e métodos úteis, como o método Int32.TryParse.In the .NET Framework, primitive types like the Int32 structure have many useful properties and methods, such as the Int32.TryParse method. Por outro lado, tipos primitivos e estruturas no Windows Runtime têm apenas campos.By contrast, primitive types and structures in the Windows Runtime have only fields. Quando você usa primitivos em código gerenciado, eles parecem ser .NET Framework tipos e você pode usar as propriedades e métodos dos tipos de .NET Framework como faria normalmente.When you use primitives in managed code, they appear to be .NET Framework types, and you can use the properties and methods of the .NET Framework types as you normally would. A lista a seguir fornece um resumo:The following list provides a summary:

  • Para os primitivos de Windows Runtime,,,,, Int32 Int64 Single Double Boolean String (uma coleção imutável de caracteres Unicode),,, Enum UInt32 UInt64 e Guid , use o tipo de mesmo nome no System namespace.For the Windows Runtime primitives Int32, Int64, Single, Double, Boolean, String (an immutable collection of Unicode characters), Enum, UInt32, UInt64, and Guid, use the type of the same name in the System namespace.

  • Para UInt8, use System.Byte.For UInt8, use System.Byte.

  • Para Char16, use System.Char.For Char16, use System.Char.

  • Para a interface IInspectable, use System.Object.For the IInspectable interface, use System.Object.

  • Para HRESULT , use uma estrutura com um System.Int32 membro.For HRESULT, use a structure with one System.Int32 member.

Assim como acontece com os tipos de interface, a única vez que você pode ver evidências dessa representação é quando seu projeto de .NET Framework é um componente de Windows Runtime que é usado por um aplicativo de armazenamento do Windows 8. x criado usando JavaScript.As with interface types, the only time you might see evidence of this representation is when your .NET Framework project is a Windows Runtime component that is used by a Windows 8.x Store app built using JavaScript.

Outros tipos de Windows Runtime básicos, comumente usados que aparecem no código gerenciado como seus equivalentes .NET Framework incluem a Windows.Foundation.DateTime estrutura, que aparece em código gerenciado como a System.DateTimeOffset estrutura, e a Windows.Foundation.TimeSpan estrutura, que aparece como a System.TimeSpan estrutura.Other basic, commonly used Windows Runtime types that appear in managed code as their .NET Framework equivalents include the Windows.Foundation.DateTime structure, which appears in managed code as the System.DateTimeOffset structure, and the Windows.Foundation.TimeSpan structure, which appears as the System.TimeSpan structure.

Outras diferençasOther Differences

Em alguns casos, o fato de que .NET Framework tipos aparecem em seu código em vez de Windows Runtime tipos requer ação de sua parte.In a few cases, the fact that .NET Framework types appear in your code instead of Windows Runtime types requires action on your part. Por exemplo, a Windows.Foundation.Uri classe aparece como System.Uri em .NET Framework código.For example, the Windows.Foundation.Uri class appears as System.Uri in .NET Framework code. System.Uripermite um URI relativo, mas Windows.Foundation.Uri requer um URI absoluto.System.Uri allows a relative URI, but Windows.Foundation.Uri requires an absolute URI. Portanto, ao passar um URI para um método Windows Runtime, você deve garantir que ele seja absoluto.Therefore, when you pass a URI to a Windows Runtime method, you must ensure that it's absolute. Consulte Passando um URI para o Tempo de Execução do Windows.See Passing a URI to the Windows Runtime.

Cenários para o desenvolvimento de componentes Windows RuntimeScenarios for Developing Windows Runtime Components

Os cenários com suporte para componentes gerenciados Windows Runtime dependem dos seguintes princípios gerais:The scenarios that are supported for managed Windows Runtime Components depend on the following general principles:

  • Windows Runtime componentes criados usando o .NET Framework não têm nenhuma diferença aparente de outras Runtimelibraries do Windows.Windows Runtime Components that are built using the .NET Framework have no apparent differences from other Windows Runtimelibraries. Por exemplo, se você reimplementar um componente de Windows Runtime nativo usando código gerenciado, os dois componentes serão indistinguíveis de forma retroativa.For example, if you re-implement a native Windows Runtime component by using managed code, the two components are outwardly indistinguishable. O fato de que seu componente é escrito em código gerenciado é invisível para o código que o utiliza, mesmo que esse código seja código gerenciado.The fact that your component is written in managed code is invisible to the code that uses it, even if that code is itself managed code. No entanto, internamente, o componente é um código gerenciado verdadeiro e é executado no Common Language Runtime (CLR).However, internally, your component is true managed code and runs on the common language runtime (CLR).

  • Os componentes podem conter tipos que implementam a lógica do aplicativo, os controles da interface do usuário da loja do Windows 8. x ou ambos.Components can contain types that implement application logic, Windows 8.x Store UI controls, or both.

    Observação

    É uma prática recomendada separar elementos da interface do usuário da lógica do aplicativo.It's good practice to separate UI elements from application logic. Além disso, você não pode usar os controles de interface do usuário da loja do Windows 8. x em um aplicativo da loja do Windows 8. x criado para Windows usando JavaScript e HTML.Also, you can't use Windows 8.x Store UI controls in a Windows 8.x Store app built for Windows using JavaScript and HTML.

  • Um componente pode ser um projeto dentro de uma solução do Visual Studio para um aplicativo da loja do Windows 8. x ou um componente reutilizável que você pode adicionar a várias soluções.A component can be a project within a Visual Studio solution for a Windows 8.x Store app, or a reusable component that you can add to multiple solutions.

    Observação

    Se seu componente for usado somente com C# ou Visual Basic, não há motivo para torná-lo um componente Windows Runtime.If your component will be used only with C# or Visual Basic, there's no reason to make it a Windows Runtime component. Se você transformá-lo em uma biblioteca de classes .NET Framework comum, não precisa restringir sua superfície de API pública a tipos Windows Runtime.If you make it an ordinary .NET Framework class library instead, you don't have to restrict its public API surface to Windows Runtime types.

  • Você pode liberar versões de componentes reutilizáveis usando o VersionAttribute atributo Windows Runtime para identificar quais tipos (e quais membros dentro de um tipo) foram adicionados em versões diferentes.You can release versions of reusable components by using the Windows Runtime VersionAttribute attribute to identify which types (and which members within a type) were added in different versions.

  • Os tipos em seu componente podem derivar de tipos de Windows Runtime.The types in your component can derive from Windows Runtime types. Os controles podem derivar dos tipos de controle primitivos no Windows.UI.Xaml.Controls.Primitives namespace ou de controles mais concluídos, como Button .Controls can derive from the primitive control types in the Windows.UI.Xaml.Controls.Primitives namespace or from more finished controls such as Button.

    Importante

    A partir do Windows 8 e do .NET Framework 4,5, todos os tipos públicos em um componente de Windows Runtime gerenciado devem ser lacrados.Starting with Windows 8 and the .NET Framework 4.5, all public types in a managed Windows Runtime component must be sealed. Um tipo em outro componente Windows Runtime não pode derivar deles.A type in another Windows Runtime component can't derive from them. Se você quiser fornecer um comportamento polimórfico em seu componente, poderá criar uma interface e implementá-la nos tipos polimórficos.If you want to provide polymorphic behavior in your component, you can create an interface and implement it in the polymorphic types.

  • Todos os tipos de parâmetro e de retorno nos tipos públicos em seu componente devem ser Windows Runtime tipos (incluindo os tipos de Windows Runtime que seu componente define).All parameter and return types on the public types in your component must be Windows Runtime types (including the Windows Runtime types that your component defines).

As seções a seguir fornecem exemplos de cenários comuns.The following sections provide examples of common scenarios.

Lógica do aplicativo para um aplicativo da loja do Windows 8. x com JavaScriptApplication Logic for a Windows 8.x Store App with JavaScript

Ao desenvolver um aplicativo da loja do Windows 8. x para Windows usando JavaScript, você pode achar que algumas partes da lógica do aplicativo têm melhor desempenho no código gerenciado ou que são mais fáceis de desenvolver.When you develop a Windows 8.x Store app for Windows using JavaScript, you might find that some parts of the application logic perform better in managed code, or are easier to develop. O JavaScript não pode usar .NET Framework bibliotecas de classes diretamente, mas você pode tornar a biblioteca de classes a. Arquivo WinMD.JavaScript can't use .NET Framework class libraries directly, but you can make the class library a .WinMD file. Nesse cenário, o componente Windows Runtime é parte integrante do aplicativo, portanto, não faz sentido fornecer atributos de versão.In this scenario, the Windows Runtime component is an integral part of the app, so it doesn't make sense to provide version attributes.

Controles de interface do usuário da loja do Windows 8. x reutilizáveisReusable Windows 8.x Store UI Controls

Você pode empacotar um conjunto de controles de interface do usuário relacionados em um componente de Windows Runtime reutilizável.You can package a set of related UI controls in a reusable Windows Runtime component. O componente pode ser comercializado por conta própria ou usado como um elemento nos aplicativos que você criar.The component can be marketed on its own or used as an element in the apps you create. Nesse cenário, faz sentido usar o VersionAttribute atributo Windows Runtime para melhorar a compatibilidade.In this scenario, it makes sense to use the Windows Runtime VersionAttribute attribute to improve compatibility.

Lógica de aplicativo reutilizável de aplicativos .NET Framework existentesReusable Application Logic from Existing .NET Framework Apps

Você pode empacotar o código gerenciado de seus aplicativos de área de trabalho existentes como um componente Windows Runtime autônomo.You can package managed code from your existing desktop apps as a standalone Windows Runtime component. Isso permite que você use o componente no Windows 8. x aplicativos da loja criados usando C++ ou JavaScript, bem como em aplicativos da loja do Windows 8. x criados usando C# ou Visual Basic.This enables you to use the component in Windows 8.x Store apps built using C++ or JavaScript, as well as in Windows 8.x Store apps built using C# or Visual Basic. O controle de versão é uma opção se houver vários cenários de reutilização para o código.Versioning is an option if there are multiple reuse scenarios for the code.

TitleTitle DescriçãoDescription
Visão geral dos aplicativos .NET para Windows Store.NET for Windows Store apps overview Descreve os tipos de .NET Framework e os membros que você pode usar para criar aplicativos de armazenamento do Windows 8. x e do Windows RuntimeComponents.Describes the .NET Framework types and members that you can use to create Windows 8.x Store apps and Windows RuntimeComponents. (No centro de desenvolvimento do Windows.)(In the Windows Dev Center.)
Roteiro para aplicativos da Windows Store usando C# ou Visual BasicRoadmap for Windows Store apps using C# or Visual Basic Fornece recursos importantes para ajudá-lo a começar a desenvolver aplicativos da loja do Windows 8. x usando C# ou Visual Basic, incluindo muitos tópicos de início rápido, diretrizes e práticas recomendadas.Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (No centro de desenvolvimento do Windows.)(In the Windows Dev Center.)
Como o TOS (XAML)How tos (XAML) Fornece recursos importantes para ajudá-lo a começar a desenvolver aplicativos da loja do Windows 8. x usando C# ou Visual Basic, incluindo muitos tópicos de início rápido, diretrizes e práticas recomendadas.Provides key resources to help you get started developing Windows 8.x Store apps by using C# or Visual Basic, including many Quickstart topics, guidelines, and best practices. (No centro de desenvolvimento do Windows.)(In the Windows Dev Center.)
Criando Componentes do Windows Runtime no C# e no Visual BasicCreating Windows Runtime Components in C# and Visual Basic Descreve como criar um componente Windows Runtime usando o .NET Framework, explica como usá-lo como parte de um aplicativo da loja do Windows 8. x criado para Windows usando JavaScript e descreve como depurar a combinação com o Visual Studio.Describes how to create a Windows Runtime component using the .NET Framework, explains how to use it as part of a Windows 8.x Store app built for Windows using JavaScript, and describes how to debug the combination with Visual Studio. (No centro de desenvolvimento do Windows.)(In the Windows Dev Center.)
Referência do Windows RuntimeWindows Runtime reference A documentação de referência para o Windows Runtime.The reference documentation for the Windows Runtime. (No centro de desenvolvimento do Windows.)(In the Windows Dev Center.)
Passando um URI para o Windows RuntimePassing a URI to the Windows Runtime Descreve um problema que pode surgir quando você passa um URI do código gerenciado para o Windows Runtime e como evitá-lo.Describes an issue that can arise when you pass a URI from managed code to the Windows Runtime, and how to avoid it.