Obsługa .NET Framework dla aplikacji sklepu Windows Store i środowiska wykonawczego systemu Windows.NET Framework Support for Windows Store Apps and Windows Runtime

.NET Framework 4,5 obsługuje wiele scenariuszy tworzenia oprogramowania z środowisko wykonawcze systemu Windows.The .NET Framework 4.5 supports a number of software development scenarios with the Windows Runtime. Te scenariusze dzielą się na trzy kategorie:These scenarios fall into three categories:

W tym temacie opisano pomoc .NET Framework techniczną dla wszystkich trzech kategorii oraz scenariusze dotyczące środowisko wykonawcze systemu Windows składników.This topic outlines the support that the .NET Framework provides for all three categories, and describes the scenarios for Windows Runtime Components. Pierwsza sekcja zawiera podstawowe informacje o relacji między .NET Framework i środowisko wykonawcze systemu Windows, a także wyjaśnienia niektórych oddities, które mogą wystąpić w systemie pomocy i 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. W drugiej sekcji omówiono scenariusze tworzenia środowisko wykonawcze systemu Windows składników programu.The second section discusses scenarios for developing Windows Runtime Components.

Podstawowe informacjeThe Basics

.NET Framework obsługuje trzy scenariusze programowania wymienione wcześniej przez udostępnienie platformy .NET dla systemu Windows 8. x aplikacji ze sklepu i przez obsługę środowisko wykonawcze systemu WindowsThe .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.

  • Przestrzenie nazw .NET Framework i środowisko wykonawcze systemu Windows zapewniają usprawniony widok bibliotek klas .NET Framework i zawierają tylko typy i elementy członkowskie, których można użyć do tworzenia aplikacji do sklepu Windows 8. x i składników Środowisko wykonawcze systemu Windows..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.

    • Jeśli używasz programu Visual Studio (Visual Studio 2012 lub nowszego) do tworzenia aplikacji ze sklepu Windows 8. x lub składnika środowisko wykonawcze systemu Windows, zestaw zestawów referencyjnych zapewnia, że zobaczysz tylko odpowiednie typy i elementy członkowskie.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.

    • Ten usprawniony zestaw interfejsów API jest uproszczony przez usunięcie funkcji, które są zduplikowane w ramach .NET Framework lub zduplikowanych funkcji środowisko wykonawcze systemu Windows.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. Na przykład zawiera tylko ogólne wersje typów kolekcji, a model obiektów dokumentu XML jest eliminowany na korzyść zestawu interfejsów API środowisko wykonawcze systemu Windows XML.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.

    • Funkcje, które po prostu zawijają interfejs API systemu operacyjnego, są również usuwane, ponieważ środowisko wykonawcze systemu Windows jest łatwe do wywołania z kodu zarządzanego.Features that simply wrap the operating system API are also removed, because the Windows Runtime is easy to call from managed code.

    Aby dowiedzieć się więcej na temat aplikacji ze sklepu .NET dla systemu Windows 8. x, zobacz Omówienie programu .NET dla aplikacji do sklepu Windows.To read more about the .NET for Windows 8.x Store apps, see the .NET for Windows Store apps overview. Aby zapoznać się z procesem wyboru interfejsu API, zobacz wpis .net for Metro style Apps w blogu platformy .NET.To read about the API selection process, see the .NET for Metro style apps entry in the .NET blog.

  • Środowisko wykonawcze systemu Windows udostępnia elementy interfejsu użytkownika do kompilowania aplikacji ze sklepu Windows 8. x i zapewnia dostęp do funkcji systemu operacyjnego.The Windows Runtime provides the user interface elements for building Windows 8.x Store apps, and provides access to operating system features. Podobnie jak w przypadku .NET Framework, środowisko wykonawcze systemu Windows zawiera metadane, które umożliwiają kompilatorom języka C# i Visual Basic używanie środowisko wykonawcze systemu Windows w sposób, w jaki korzystają z bibliotek klas .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. .NET Framework ułatwia korzystanie z środowisko wykonawcze systemu Windows, ukrywając pewne różnice:The .NET Framework makes it easier to use the Windows Runtime by hiding some differences:

    • Niektóre różnice w wzorcach programowania między .NET Framework i środowisko wykonawcze systemu Windows, takie jak wzorzec służący do dodawania i usuwania programów obsługi zdarzeń, są ukryte.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. Wystarczy użyć wzorca .NET Framework.You simply use the .NET Framework pattern.

    • Niektóre różnice w najczęściej używanych typach (na przykład typy pierwotne i kolekcje) są ukryte.Some differences in commonly used types (for example, primitive types and collections) are hidden. Wystarczy użyć typu .NET Framework, jak opisano w różnicach, które są widoczne w środowisku IDE, w dalszej części tego artykułu.You simply use the .NET Framework type, as discussed in Differences That Are Visible in the IDE, later in this article.

W większości przypadków .NET Framework wsparcia dla środowisko wykonawcze systemu Windows jest przezroczysty.Most of the time, .NET Framework support for the Windows Runtime is transparent. W następnej sekcji omówiono niektóre widoczne różnice między kodem zarządzanym i środowisko wykonawcze systemu Windows.The next section discusses some of the apparent differences between managed code and the Windows Runtime.

.NET Framework i dokumentacja referencyjna środowisko wykonawcze systemu WindowsThe .NET Framework and the Windows Runtime Reference Documentation

Środowisko wykonawcze systemu Windows i zestawy dokumentacji .NET Framework są oddzielone.The Windows Runtime and the .NET Framework documentation sets are separate. Jeśli naciśniesz klawisz F1, aby wyświetlić pomoc dla typu lub elementu członkowskiego, zostanie wyświetlona dokumentacja referencyjna z odpowiedniego zestawu.If you press F1 to display Help on a type or member, reference documentation from the appropriate set is displayed. Jednak w przypadku przeglądania środowisko wykonawcze systemu Windows odwołanie może wystąpić przykład Puzzling:However, if you browse through the Windows Runtime reference you might encounter examples that seem puzzling:

  • Tematy, takie jak IIterable<T> interfejs, nie mają składni deklaracji dla Visual Basic lub C#.Topics such as the IIterable<T> interface don't have declaration syntax for Visual Basic or C#. Zamiast tego, Uwaga pojawia się powyżej sekcji składni (w tym przypadku ".NET: ten interfejs pojawia się jako 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>"). Jest to spowodowane tym, że .NET Framework i środowisko wykonawcze systemu Windows zapewniają podobną funkcjonalność z różnymi interfejsami.This is because the .NET Framework and the Windows Runtime provide similar functionality with different interfaces. Ponadto istnieją różnice behawioralne: IIterable ma metodę, która First nie ma GetEnumerator metody do zwracania modułu wyliczającego.In addition, there are behavioral differences: IIterable has a First method instead of a GetEnumerator method to return the enumerator. Zamiast wymuszania poznania innego sposobu wykonywania typowego zadania .NET Framework obsługuje środowisko wykonawcze systemu Windows, dzięki czemu kod zarządzany będzie wyglądał do korzystania z znanego typu.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. Interfejs nie zostanie wyświetlony IIterable w środowisku IDE i w związku z tym jedynym sposobem, w jaki zobaczysz, w dokumentacji referencyjnej Środowisko wykonawcze systemu Windows można bezpośrednio przeszukiwać tę dokumentację.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.

  • SyndicationFeed(String, String, Uri)Dokumentacja ilustruje ścisły związek problemu: jego typy parametrów są różne dla różnych języków.The SyndicationFeed(String, String, Uri) documentation illustrates a closely related issue: Its parameter types appear to be different for different languages. Dla języków C# i Visual Basic typy parametrów są System.String i System.Uri .For C# and Visual Basic, the parameter types are System.String and System.Uri. Jest to spowodowane tym, że .NET Framework ma własne String i Uri typy, a dla takich często używanych typów nie ma sensu, aby wymusić .NET Framework użytkownikom poznać różne sposoby wykonywania zadań.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. W środowisku IDE .NET Framework ukrywa odpowiednie typy środowisko wykonawcze systemu Windows.In the IDE, the .NET Framework hides the corresponding Windows Runtime types.

  • W kilku przypadkach, takich jak GridLength Struktura, .NET Framework zapewnia typ o tej samej nazwie, ale więcej funkcji.In a few cases, such as the GridLength structure, the .NET Framework provides a type with the same name but more functionality. Na przykład zestaw tematów i konstruktorów jest skojarzony z GridLength , ale mają bloki składni tylko dla Visual Basic i C#, ponieważ elementy członkowskie są dostępne tylko w kodzie zarządzanym.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. W środowisko wykonawcze systemu Windows struktury mają tylko pola.In the Windows Runtime, structures have only fields. Struktura środowisko wykonawcze systemu Windows wymaga klasy pomocnika, GridLengthHelper w celu zapewnienia równoważnej funkcjonalności.The Windows Runtime structure requires a helper class, GridLengthHelper, to provide equivalent functionality. Ta klasa pomocnika nie zostanie wyświetlona w środowisku IDE podczas pisania kodu zarządzanego.You won't see that helper class in the IDE when you're writing managed code.

  • W środowisku IDE są wyświetlane środowisko wykonawcze systemu Windows typy, które pochodzą od System.Object .In the IDE, Windows Runtime types appear to derive from System.Object. Wydaje się, że mają członków dziedziczonych z Object , takich jak Object.ToString .They appear to have members inherited from Object, such as Object.ToString. Te elementy członkowskie działają tak, jak gdyby typy faktycznie dziedziczone z Object i typy środowisko wykonawcze systemu Windows mogły być rzutowane na Object .These members operate as they would if the types actually inherited from Object, and Windows Runtime types can be cast to Object. Ta funkcja jest częścią pomocy technicznej zapewnianej przez .NET Framework środowisko wykonawcze systemu Windows.This functionality is part of the support that the .NET Framework provides for the Windows Runtime. Jednak w przypadku wyświetlania typów w dokumentacji referencyjnej środowisko wykonawcze systemu Windows nie są wyświetlane takie elementy członkowskie.However, if you view the types in the Windows Runtime reference documentation, no such members appear. Dokumentacja tych pozornie dziedziczonych członków jest dostarczana przez System.Object dokumentację referencyjną.The documentation for these apparent inherited members is provided by the System.Object reference documentation.

Różnice, które są widoczne w środowisku IDEDifferences That Are Visible in the IDE

W bardziej zaawansowanych scenariuszach programistycznych, takich jak używanie środowisko wykonawcze systemu Windows składnika zapisanego w języku C#, aby zapewnić logikę aplikacji dla aplikacji ze sklepu Windows 8. x skompilowaną dla systemu Windows za pomocą języka JavaScript, takie różnice są widoczne w środowisku IDE oraz w dokumentacji.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. Gdy składnik zwraca IDictionary<int, string> kod JavaScript, a zobaczysz go w debugerze JavaScript, zobaczysz metody, IMap<int, string> ponieważ język JavaScript używa typu środowisko wykonawcze systemu Windows.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. W poniższej tabeli przedstawiono niektóre często używane typy kolekcji, które różnią się od siebie w dwóch językach:Some commonly used collection types that appear differently in the two languages are shown in the following table:

Typ środowisko wykonawcze systemu WindowsWindows Runtime type Odpowiedni typ .NET FrameworkCorresponding .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

W środowisko wykonawcze systemu Windows IMap<K, V> i IMapView<K, V> zostały powtórzone przy użyciu IKeyValuePair .In the Windows Runtime, IMap<K, V> and IMapView<K, V> are iterated using IKeyValuePair. Gdy przekazujesz je do kodu zarządzanego, są one wyświetlane jako IDictionary<TKey, TValue> i IReadOnlyDictionary<TKey, TValue> , więc naturalnie używane System.Collections.Generic.KeyValuePair<TKey, TValue> do wyliczania.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.

Sposób, w jaki interfejsy pojawiają się w kodzie zarządzanym, mają wpływ na sposób, w jaki są wyświetlane te interfejsy.The way interfaces appear in managed code affects the way types that implement these interfaces appear. Na przykład PropertySet Klasa implementuje IMap<K, V> , która pojawia się w kodzie zarządzanym jako IDictionary<TKey, TValue> .For example, the PropertySet class implements IMap<K, V>, which appears in managed code as IDictionary<TKey, TValue>. PropertySetpojawia się tak, jakby był zaimplementowany IDictionary<TKey, TValue> zamiast IMap<K, V> , tak więc w kodzie zarządzanym wydaje się Add , że ma metodę, która zachowuje się jak Add metoda w słownikach .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. Wydaje się, że nie ma Insert metody.It doesn't appear to have an Insert method.

Aby uzyskać więcej informacji o używaniu .NET Framework do tworzenia składnika środowisko wykonawcze systemu Windows i wskazówki, które pokazują, jak używać takiego składnika z JavaScript, zobacz Tworzenie składników Środowisko wykonawcze systemu Windows w językach C# i 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.

Typy pierwotnePrimitive Types

Aby umożliwić naturalnym wykorzystywanie środowisko wykonawcze systemu Windows w kodzie zarządzanym, .NET Framework typy pierwotne pojawiają się zamiast środowisko wykonawcze systemu Windows typów pierwotnych w kodzie.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. W .NET Framework typy pierwotne, takie jak Int32 Struktura, mają wiele użytecznych właściwości i metod, takich jak Int32.TryParse Metoda.In the .NET Framework, primitive types like the Int32 structure have many useful properties and methods, such as the Int32.TryParse method. Z kolei typy pierwotne i struktury w środowisko wykonawcze systemu Windows mają tylko pola.By contrast, primitive types and structures in the Windows Runtime have only fields. W przypadku używania prymitywów w kodzie zarządzanym są one wyświetlane jako .NET Framework typy i można użyć właściwości i metod typów .NET Framework, jak zwykle.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. Poniższa lista zawiera podsumowanie:The following list provides a summary:

  • W przypadku środowisko wykonawcze systemu Windows podstawowych,,,,, Int32 Int64 Single Double Boolean String (niezmienna kolekcja znaków Unicode),,, Enum UInt32 UInt64 i, należy Guid użyć typu o tej samej nazwie w System przestrzeni nazw.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.

  • Dla programu UInt8 , użyj System.Byte .For UInt8, use System.Byte.

  • Dla programu Char16 , użyj System.Char .For Char16, use System.Char.

  • Dla IInspectable interfejsu Użyj System.Object .For the IInspectable interface, use System.Object.

  • W przypadku programu HRESULT należy użyć struktury z jednym System.Int32 elementem członkowskim.For HRESULT, use a structure with one System.Int32 member.

Podobnie jak w przypadku typów interfejsów, jedyny czas, w którym można zobaczyć dowód tej reprezentacji, jest to, że projekt .NET Framework jest składnikiem środowisko wykonawcze systemu Windows używanym przez aplikację ze sklepu Windows 8. x utworzoną przy użyciu języka 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.

Inne podstawowe, często używane środowisko wykonawcze systemu Windows typy, które pojawiają się w kodzie zarządzanym jako ich .NET Framework równoważne Windows.Foundation.DateTime , obejmują strukturę, która pojawia się w kodzie zarządzanym jako System.DateTimeOffset Struktura i Windows.Foundation.TimeSpan strukturę, która pojawia się jako System.TimeSpan Struktura.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.

Inne różniceOther Differences

W kilku przypadkach fakt, że typy .NET Framework pojawiają się w kodzie, a nie typy środowisko wykonawcze systemu Windows wymaga działania w Twojej części.In a few cases, the fact that .NET Framework types appear in your code instead of Windows Runtime types requires action on your part. Na przykład Windows.Foundation.Uri Klasa jest wyświetlana System.Uri w .NET Framework kodzie.For example, the Windows.Foundation.Uri class appears as System.Uri in .NET Framework code. System.Urizezwala na względny identyfikator URI, ale Windows.Foundation.Uri wymaga bezwzględnego identyfikatora URI.System.Uri allows a relative URI, but Windows.Foundation.Uri requires an absolute URI. W związku z tym, gdy przekażesz identyfikator URI do metody środowisko wykonawcze systemu Windows, musisz się upewnić, że jest ona bezwzględna.Therefore, when you pass a URI to a Windows Runtime method, you must ensure that it's absolute. Zobacz przekazywanie identyfikatora URI do środowisko wykonawcze systemu Windows.See Passing a URI to the Windows Runtime.

Scenariusze tworzenia środowisko wykonawcze systemu Windows składnikówScenarios for Developing Windows Runtime Components

Scenariusze obsługiwane przez składniki zarządzane środowisko wykonawcze systemu Windows są zależne od następujących zasad ogólnych:The scenarios that are supported for managed Windows Runtime Components depend on the following general principles:

  • Środowisko wykonawcze systemu Windows składniki utworzone przy użyciu .NET Framework nie mają żadnych wyraźnych różnic z innych Runtimelibraries systemu Windows.Windows Runtime Components that are built using the .NET Framework have no apparent differences from other Windows Runtimelibraries. Na przykład w przypadku ponownego zaimplementowania natywnego składnika środowisko wykonawcze systemu Windows przy użyciu kodu zarządzanego, te dwa składniki są na tym samym poziomie.For example, if you re-implement a native Windows Runtime component by using managed code, the two components are outwardly indistinguishable. Fakt, że składnik jest zapisywana w kodzie zarządzanym, jest niewidoczny dla kodu, który go używa, nawet jeśli ten kod jest samym kodem zarządzanym.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. Jednak wewnętrznie składnik jest prawdziwy kod zarządzany i jest uruchamiany w środowisku uruchomieniowym języka wspólnego (CLR).However, internally, your component is true managed code and runs on the common language runtime (CLR).

  • Składniki mogą zawierać typy implementujące logikę aplikacji, kontrolki interfejsu użytkownika systemu Windows 8. x lub oba te elementy.Components can contain types that implement application logic, Windows 8.x Store UI controls, or both.

    Uwaga

    Dobrym sposobem jest oddzielenie elementów interfejsu użytkownika od logiki aplikacji.It's good practice to separate UI elements from application logic. Ponadto nie można używać kontrolek interfejsu użytkownika sklepu Windows 8. x w aplikacji ze sklepu Windows 8. x skompilowanej dla systemu Windows za pomocą języka JavaScript i języka 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.

  • Składnik może być projektem w ramach rozwiązania Visual Studio dla aplikacji ze sklepu Windows 8. x lub składnika wielokrotnego użytku, który można dodać do wielu rozwiązań.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.

    Uwaga

    Jeśli składnik będzie używany tylko w języku C# lub Visual Basic, nie ma powodów, aby uczynić go składnikiem środowisko wykonawcze systemu Windows.If your component will be used only with C# or Visual Basic, there's no reason to make it a Windows Runtime component. Jeśli zamiast tego utworzysz jako zwykłą .NET Framework bibliotekę klas, nie musisz ograniczać swojej publicznej powierzchni interfejsu API do typów środowisko wykonawcze systemu Windows.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.

  • Można wydać wersje składników wielokrotnego użytku przy użyciu atrybutu środowisko wykonawcze systemu Windows, VersionAttribute Aby zidentyfikować typy (i elementy członkowskie w ramach typu), które zostały dodane w różnych wersjach.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.

  • Typy w składniku mogą pochodzić od typów środowisko wykonawcze systemu Windows.The types in your component can derive from Windows Runtime types. Formanty mogą pochodzić od typów kontrolek pierwotnych w Windows.UI.Xaml.Controls.Primitives przestrzeni nazw lub od bardziej gotowych kontrolek, takich jak 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.

    Ważne

    Począwszy od systemu Windows 8 i .NET Framework 4,5 wszystkie typy publiczne w składniku zarządzanym środowisko wykonawcze systemu Windows muszą być zapieczętowane.Starting with Windows 8 and the .NET Framework 4.5, all public types in a managed Windows Runtime component must be sealed. Typ w innym składniku środowisko wykonawcze systemu Windows nie może dziedziczyć z nich.A type in another Windows Runtime component can't derive from them. Jeśli chcesz zapewnić zachowanie polimorficzne w składniku, możesz utworzyć interfejs i zaimplementować go w typach polimorficznych.If you want to provide polymorphic behavior in your component, you can create an interface and implement it in the polymorphic types.

  • Wszystkie typy parametrów i zwracanych typów publicznych w składniku muszą być środowisko wykonawcze systemu Windows typy (w tym typy środowisko wykonawcze systemu Windows zdefiniowane przez składnik).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).

Poniższe sekcje zawierają przykłady typowych scenariuszy.The following sections provide examples of common scenarios.

Logika aplikacji dla aplikacji ze sklepu Windows 8. x z obsługą języka JavaScriptApplication Logic for a Windows 8.x Store App with JavaScript

Podczas tworzenia aplikacji ze sklepu Windows 8. x dla systemu Windows za pomocą języka JavaScript może się okazać, że niektóre części logiki aplikacji działają lepiej w kodzie zarządzanym lub są łatwiejsze do opracowania.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. Język JavaScript nie może używać bibliotek klas .NET Framework bezpośrednio, ale można utworzyć bibliotekę klas a. Plik WinMD.JavaScript can't use .NET Framework class libraries directly, but you can make the class library a .WinMD file. W tym scenariuszu składnik środowisko wykonawcze systemu Windows jest integralną częścią aplikacji, więc nie ma sensu udostępnienia atrybutów wersji.In this scenario, the Windows Runtime component is an integral part of the app, so it doesn't make sense to provide version attributes.

Kontrolki interfejsu użytkownika do sklepu Windows 8. x wielokrotnego użytkuReusable Windows 8.x Store UI Controls

Zestaw powiązanych kontrolek interfejsu użytkownika można spakować w składniku środowisko wykonawcze systemu Windows wielokrotnego użytku.You can package a set of related UI controls in a reusable Windows Runtime component. Składnik może być sprzedawany samodzielnie lub używany jako element w tworzonych aplikacjach.The component can be marketed on its own or used as an element in the apps you create. W tym scenariuszu warto użyć atrybutu środowisko wykonawcze systemu Windows, VersionAttribute Aby zwiększyć zgodność.In this scenario, it makes sense to use the Windows Runtime VersionAttribute attribute to improve compatibility.

Logika aplikacji wielokrotnego użytku z istniejących aplikacji .NET FrameworkReusable Application Logic from Existing .NET Framework Apps

Kod zarządzany można spakować z istniejących aplikacji klasycznych jako składnik autonomicznej środowisko wykonawcze systemu Windows.You can package managed code from your existing desktop apps as a standalone Windows Runtime component. Dzięki temu można używać składnika w aplikacjach systemu Windows 8. x ze sklepu utworzonego przy użyciu języka C++ lub JavaScript, a także do aplikacji ze sklepu Windows 8. x utworzonych przy użyciu języka C# lub 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. Obsługa wersji jest opcją, jeśli istnieje wiele scenariuszy ponownego użycia kodu.Versioning is an option if there are multiple reuse scenarios for the code.

TytułTitle OpisDescription
Omówienie programu .NET dla aplikacji do sklepu Windows.NET for Windows Store apps overview Zawiera opis typów .NET Framework i członków, których można użyć do tworzenia aplikacji do sklepu Windows 8. x i RuntimeComponents systemu Windows.Describes the .NET Framework types and members that you can use to create Windows 8.x Store apps and Windows RuntimeComponents. (W centrum deweloperów systemu Windows).(In the Windows Dev Center.)
Plan dla aplikacji ze sklepu Windows przy użyciu języka C# lub Visual BasicRoadmap for Windows Store apps using C# or Visual Basic Udostępnia kluczowe zasoby ułatwiające rozpoczęcie opracowywania aplikacji ze sklepu Windows 8. x przy użyciu języka C# lub Visual Basic, w tym wiele tematów szybkiego startu, wytycznych i najlepszych rozwiązań.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. (W centrum deweloperów systemu Windows).(In the Windows Dev Center.)
Jak OT (XAML)How tos (XAML) Udostępnia kluczowe zasoby ułatwiające rozpoczęcie opracowywania aplikacji ze sklepu Windows 8. x przy użyciu języka C# lub Visual Basic, w tym wiele tematów szybkiego startu, wytycznych i najlepszych rozwiązań.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. (W centrum deweloperów systemu Windows).(In the Windows Dev Center.)
Tworzenie składników środowisko wykonawcze systemu Windows w językach C# i Visual BasicCreating Windows Runtime Components in C# and Visual Basic Opisuje sposób tworzenia składnika środowisko wykonawcze systemu Windows przy użyciu .NET Framework. wyjaśnia, jak używać go jako części aplikacji ze sklepu Windows 8. x skompilowanego dla systemu Windows za pomocą języka JavaScript, i opisuje sposób debugowania kombinacji w programie 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. (W centrum deweloperów systemu Windows).(In the Windows Dev Center.)
Informacje środowisko wykonawcze systemu WindowsWindows Runtime reference Dokumentacja referencyjna środowisko wykonawcze systemu Windows.The reference documentation for the Windows Runtime. (W centrum deweloperów systemu Windows).(In the Windows Dev Center.)
Przekazywanie identyfikatora URI do środowiska wykonawczego systemu WindowsPassing a URI to the Windows Runtime W tym artykule opisano problem, który może wystąpić w przypadku przekazania identyfikatora URI z kodu zarządzanego do środowisko wykonawcze systemu Windows i sposobu ich unikania.Describes an issue that can arise when you pass a URI from managed code to the Windows Runtime, and how to avoid it.