Microsoft Store アプリおよび Windows ランタイムのための .NET Framework サポート.NET Framework Support for Microsoft Store Apps and Windows Runtime

.NET Framework 4.5 では、Windows ランタイムを使用した多数のソフトウェア開発シナリオがサポートされています。The .NET Framework 4.5 supports a number of software development scenarios with the Windows Runtime. これらのシナリオは次の 3 つのカテゴリに分類されます。These scenarios fall into three categories:

この記事では、3 つのカテゴリすべてに対して .NET Framework が提供するサポートの概略と、Windows ランタイム コンポーネント用のシナリオについて説明します。This article outlines the support that the .NET Framework provides for all three categories, and describes the scenarios for Windows Runtime Components. 最初のセクションでは、.NET Framework と Windows ランタイムの関係についての基本情報と、ヘルプ システムや 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. 2 番目のセクションでは、Windows ランタイム コンポーネント開発のシナリオについて説明します。The second section discusses scenarios for developing Windows Runtime Components.

基本操作The Basics

.NET Framework では、Windows 8.x Store アプリ用 .NET を提供すること、および Windows ランタイム自体をサポートすることによって、前述の 3 つの開発シナリオがサポートされています。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.

  • .NET Framework 名前空間と Windows ランタイム名前空間によって、.NET Framework クラス ライブラリの合理化されたビューが提供されます。これには Windows 8.x Store アプリと 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.

    • Visual Studio (Visual Studio 2012 以降) を使用して Windows 8.x Store アプリまたは Windows ランタイム コンポーネントを開発する場合、一連の参照アセンブリによって、関連する型とメンバーのみが表示されます。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.

    • この合理化された API セットは、.NET Framework 内で重複している機能や、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. たとえば、これにはジェネリック バージョンのコレクション型のみが含まれ、XML ドキュメント オブジェクト モデルは削除されて代わりに Windows ランタイム XML API セットが使用されます。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.

    • オペレーティング システムの API をラップするだけの機能も削除されます。Windows ランタイムはマネージド コードから簡単に呼び出すことができるためです。Features that simply wrap the operating system API are also removed, because the Windows Runtime is easy to call from managed code.

    Windows 8.x Store アプリ用 .NET の詳細については、「Windows Store アプリ用 .NET の概要」を参照してください。To read more about the .NET for Windows 8.x Store apps, see the .NET for Windows Store apps overview. API 選択プロセスについては、.NET ブログのエントリ「Metro スタイル アプリの .NET」を参照してください。To read about the API selection process, see the .NET for Metro style apps entry in the .NET blog.

  • Windows ランタイムによって、Windows 8.x Store アプリをビルドするためのユーザー インターフェイス要素が提供されます。また、オペレーティング システム機能にアクセスすることもできます。The Windows Runtime provides the user interface elements for building Windows 8.x Store apps, and provides access to operating system features. .NET Framework と同様、Windows ランタイムには、C# や Visual Basic のコンパイラが .NET Framework クラス ライブラリを使用するのと同じ方法で Windows ランタイムを使用できるようにするためのメタデータが含まれています。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 では、いくつかの相違点が隠されることによって Windows ランタイムが使いやすくなります。The .NET Framework makes it easier to use the Windows Runtime by hiding some differences:

    • .NET Framework と Windows ランタイム間のプログラミング パターン (イベント ハンドラーを追加および削除するパターンなど) におけるいくつかの相違点が隠されます。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. ユーザーは .NET Framework のパターンを使用するとよいだけです。You simply use the .NET Framework pattern.

    • よく使用される型 (たとえばプリミティブ型やコレクション) の違いの一部が非表示になります。Some differences in commonly used types (for example, primitive types and collections) are hidden. この記事で後述する「IDE で表示される相違点」で説明しているように、.NET Framework の型を使用するだけで済みます。You simply use the .NET Framework type, as discussed in Differences That Are Visible in the IDE, later in this article.

ほとんどの場合、Windows ランタイムの .NET Framework サポートは透過的です。Most of the time, .NET Framework support for the Windows Runtime is transparent. 次のセクションでは、マネージド コードと Windows ランタイムとの明確な相違点についていくつか説明します。The next section discusses some of the apparent differences between managed code and the Windows Runtime.

.NET Framework と Windows ランタイムのリファレンス ドキュメントThe .NET Framework and the Windows Runtime Reference Documentation

Windows ランタイムと .NET Framework のドキュメント セットは別々になっています。The Windows Runtime and the .NET Framework documentation sets are separate. 型またはメンバーに関するヘルプを表示するために F1 キーを押すと、該当するセットのリファレンス ドキュメントが表示されます。If you press F1 to display Help on a type or member, reference documentation from the appropriate set is displayed. ただし、Windows ランタイム リファレンスを参照すると、次のような、一見不可解な例を見つけることがあります。However, if you browse through the Windows Runtime reference you might encounter examples that seem puzzling:

  • IIterable<T> インターフェイスなどのトピックには、Visual Basic または C# 用の宣言構文がありません。Topics such as the IIterable<T> interface don't have declaration syntax for Visual Basic or C#. 代わりに、構文セクションの上に注意 (このケースでは ".NET: このインターフェイスは 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>"). これは、.NET Framework と Windows ランタイムによって、同様の機能が異なるインターフェイスで用意されているためです。This is because the .NET Framework and the Windows Runtime provide similar functionality with different interfaces. さらに、IIterable では列挙子を返すのに First メソッドではなく GetEnumerator メソッドを使用するという、動作の違いもあります。In addition, there are behavioral differences: IIterable has a First method instead of a GetEnumerator method to return the enumerator. .NET Framework では、一般的なタスクを実行する別の方法をユーザーが学習する必要はなく、使い慣れた型を使用できるようにマネージド コードを表示することで Windows ランタイムがサポートされます。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. IDE では IIterable インターフェイスが表示されないため、Windows ランタイムのリファレンス ドキュメントでこれを目にするのは、そのドキュメントを直接参照する場合のみです。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) のドキュメントでは、パラメーターの型が言語ごとに異なって表示されるという、密接に関連する問題が説明されています。The SyndicationFeed(String, String, Uri) documentation illustrates a closely related issue: Its parameter types appear to be different for different languages. C# と Visual Basic の場合、パラメーターの型は System.StringSystem.Uri です。For C# and Visual Basic, the parameter types are System.String and System.Uri. これもやはり、.NET Framework で独自の String 型と Uri 型が使われるためであり、このようなよく使用される型について、.NET Framework ユーザーが処理を実行する別の方法を学習しても意味はありません。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. IDE では、これに対応する Windows ランタイムの型が .NET Framework によって隠されます。In the IDE, the .NET Framework hides the corresponding Windows Runtime types.

  • GridLength 構造体などのいくつかのケースでは、.NET Framework によって、同じ名前でより多くの機能を備えた型が提供されます。In a few cases, such as the GridLength structure, the .NET Framework provides a type with the same name but more functionality. たとえば、一連のコンストラクターとプロパティのトピックは GridLength に関連付けられますが、メンバーがマネージド コードでのみ使用可能であるために、Visual Basic と C# に関してのみ構文ブロックの機能を備えています。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. Windows ランタイムでは、構造体にはフィールドがあるだけです。In the Windows Runtime, structures have only fields. Windows ランタイムの構造体には、同等の機能を提供するヘルパー クラス GridLengthHelper が必要です。The Windows Runtime structure requires a helper class, GridLengthHelper, to provide equivalent functionality. このヘルパー クラスは、マネージド コードを記述している間は IDE に表示されません。You won't see that helper class in the IDE when you're writing managed code.

  • IDE では、Windows ランタイムの型は System.Object から派生するように表示されます。In the IDE, Windows Runtime types appear to derive from System.Object. この型のメンバーは、Object などの Object.ToString から継承されるように表示されます。They appear to have members inherited from Object, such as Object.ToString. これらのメンバーは、型が実際に Object から継承されたように動作し、Windows ランタイムの型は Object にキャスト可能です。These members operate as they would if the types actually inherited from Object, and Windows Runtime types can be cast to Object. この機能は、.NET Framework が Windows ランタイム用に用意しているサポートの一部です。This functionality is part of the support that the .NET Framework provides for the Windows Runtime. ただし、Windows ランタイムのリファレンス ドキュメントで型を表示しても、このようなメンバーは表示されません。However, if you view the types in the Windows Runtime reference documentation, no such members appear. これらの見かけ上の継承されたメンバーに関するドキュメントは、System.Object のリファレンス ドキュメントに含まれています。The documentation for these apparent inherited members is provided by the System.Object reference documentation.

IDE で表示される相違点Differences That Are Visible in the IDE

より高度なプログラミング シナリオ (例: C# で記述された Windows ランタイム コンポーネントを使い、JavaScript を使用して Windows 用にビルドされた Windows 8.x Store アプリのアプリケーション ロジックを提供する) では、ドキュメントと同様 IDE でもこのような相違点が表示されます。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. コンポーネントから JavaScript に IDictionary<int, string> が返され、それを JavaScript デバッガーで調べた場合、JavaScript によって Windows ランタイムの型が使用されるため、IMap<int, string> のメソッドが表示されます。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. よく使用されるコレクション型のうち、この 2 言語で表示が異なる型の一部を次の表に示します。Some commonly used collection types that appear differently in the two languages are shown in the following table:

Windows ランタイム型Windows Runtime type 対応する .NET Framework の型Corresponding .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

Windows ランタイムでは、IMap<K, V>IMapView<K, V>IKeyValuePair を使用して反復処理されます。In the Windows Runtime, IMap<K, V> and IMapView<K, V> are iterated using IKeyValuePair. これらをマネージド コードに渡すと、IDictionary<TKey, TValue> および IReadOnlyDictionary<TKey, TValue> として表示されるため、これを列挙するには必然的に System.Collections.Generic.KeyValuePair<TKey, TValue> を使用します。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.

インターフェイスがマネージド コード内に表示される方法によって、これらのインターフェイスを実装する型の表示方法が決まります。The way interfaces appear in managed code affects the way types that implement these interfaces appear. たとえば、PropertySet クラスは IMap<K, V> を実装しますが、これはマネージド コードでは IDictionary<TKey, TValue> として表示されます。For example, the PropertySet class implements IMap<K, V>, which appears in managed code as IDictionary<TKey, TValue>. PropertySet では、IMap<K, V> ではなく IDictionary<TKey, TValue> が実装されたように見えるため、マネージド コードでは .NET Framework ディクショナリの Add メソッドのように動作する Add メソッドがあるように表示されます。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. Insert メソッドがないように見えます。It doesn't appear to have an Insert method.

.NET Framework を使用して Windows ランタイム コンポーネントを作成する方法の詳細について、および JavaScript でそのようなコンポーネントを使用する方法のチュートリアルについては、C# および Visual Basic での Windows ランタイム コンポーネントの作成に関する記事を参照してください。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.

プリミティブ型Primitive Types

マネージド コードで Windows ランタイムのナチュラルな使用を有効にすると、Windows ランタイムのプリミティブ型ではなく .NET Framework のプリミティブ型がコードに表示されます。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. .NET Framework では、Int32 構造体などのプリミティブ型には、Int32.TryParse メソッドなどの便利なプロパティとメソッドが多くあります。In the .NET Framework, primitive types like the Int32 structure have many useful properties and methods, such as the Int32.TryParse method. 一方、Windows ランタイムのプリミティブ型と構造体にはフィールドしかありません。By contrast, primitive types and structures in the Windows Runtime have only fields. マネージド コードでプリミティブを使用すると、.NET Framework の型のように表示され、通常どおりに .NET Framework 型のプロパティとメソッドを使用できます。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. 要約すると、次のようになります。The following list provides a summary:

  • Windows ランタイムのプリミティブ Int32Int64SingleDoubleBooleanString (Unicode 文字の変更できないコレクション)、EnumUInt32UInt64、および Guid では、System 名前空間内の同じ名前の型を使用します。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.

  • UInt8 では System.Byte を使用します。For UInt8, use System.Byte.

  • Char16 では System.Char を使用します。For Char16, use System.Char.

  • IInspectable インターフェイスでは、System.Object を使用します。For the IInspectable interface, use System.Object.

  • HRESULT では、System.Int32 のメンバーを 1 つ含む構造体を使用します。For HRESULT, use a structure with one System.Int32 member.

インターフェイス型の場合と同様、この表示の証拠が表示されるのは、.NET Framework プロジェクトが、JavaScript を使用してビルドされた Windows 8.x Store アプリで使用される Windows ランタイム コンポーネントである場合に限られます。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.

.NET Framework に相当するものとしてマネージド コードに表示される、よく使用されるその他の基本的な Windows ランタイムの型としては、マネージド コードで System.DateTimeOffset 構造体として表示される Windows.Foundation.DateTime 構造体や、System.TimeSpan 構造体として表示される Windows.Foundation.TimeSpan 構造体があります。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.

その他の相違点Other Differences

いくつかのケースでは、Windows ランタイムの型ではなく .NET Framework の型がコードに表示されるため、ユーザー側のアクションが必要になる場合があります。In a few cases, the fact that .NET Framework types appear in your code instead of Windows Runtime types requires action on your part. たとえば、Windows.Foundation.Uri クラスは、.NET Framework コードで System.Uri として表示されます。For example, the Windows.Foundation.Uri class appears as System.Uri in .NET Framework code. System.Uri では相対 URI を使用できますが、Windows.Foundation.Uri では絶対 URI が必須です。System.Uri allows a relative URI, but Windows.Foundation.Uri requires an absolute URI. したがって、Windows ランタイム メソッドに URI を渡すときには、絶対 URI にする必要があります。Therefore, when you pass a URI to a Windows Runtime method, you must ensure that it's absolute. Windows ランタイムへの URI の引き渡し」をご覧ください。See Passing a URI to the Windows Runtime.

Windows ランタイム コンポーネントの開発シナリオScenarios for Developing Windows Runtime Components

Windows ランタイムのマネージド コンポーネントでサポートされるシナリオは、次の原則に依存します。The scenarios that are supported for managed Windows Runtime Components depend on the following general principles:

  • .NET Framework を使用してビルドされる Windows ランタイム コンポーネントとその他の Windows ランタイム ライブラリの間に、明確な違いはありません。Windows Runtime Components that are built using the .NET Framework have no apparent differences from other Windows Runtimelibraries. たとえば、マネージド コードを使用して Windows ランタイムのネイティブ コンポーネントを再実装する場合、この 2 つのコンポーネントは外部から見て区別が付きません。For example, if you re-implement a native Windows Runtime component by using managed code, the two components are outwardly indistinguishable. コンポーネントがマネージド コードで記述されているという事実は、そのコード自体がマネージド コードであったとしても、そのコンポーネントを使用するコードには表示されません。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. ただし内部的には、そのコンポーネントは真のマネージド コードであり、共通言語ランタイム (CLR) 上で実行されます。However, internally, your component is true managed code and runs on the common language runtime (CLR).

  • コンポーネントには、アプリケーション ロジック、Windows 8.x Store UI コントロール、またはその両方を実装する型を含めることができます。Components can contain types that implement application logic, Windows 8.x Store UI controls, or both.

    注意

    アプリケーション ロジックから UI 要素を分離することをお勧めします。It's good practice to separate UI elements from application logic. また、JavaScript と HTML を使用して Windows 用にビルドされた Windows 8.x Store アプリでは、Windows 8.x Store UI コントロールを使用できません。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.

  • コンポーネントは、Windows 8.x Store アプリ用 Visual Studio ソリューション内のプロジェクトの場合もあれば、複数のソリューションに追加できる再利用可能なコンポーネントの場合もあります。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.

    注意

    コンポーネントが C# または Visual Basic でのみ使用される場合は、それを Windows ランタイム コンポーネントにする理由はありません。If your component will be used only with C# or Visual Basic, there's no reason to make it a Windows Runtime component. 代わりにそれを通常の .NET Framework クラス ライブラリにすると、そのパブリック API サーフェイスを 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.

  • 異なるバージョンで追加された型 (および型のメンバー) を識別するために Windows ランタイムの VersionAttribute 属性を使用することにより、再利用可能なコンポーネントの各バージョンをリリースできます。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.

  • コンポーネントの型は Windows ランタイムの型から派生できます。The types in your component can derive from Windows Runtime types. コントロールは、Windows.UI.Xaml.Controls.Primitives 名前空間内のプリミティブ コントロール型から派生することも、より完成度の高いコントロール (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.

    重要

    Windows 8 および .NET Framework 4.5 以降では、マネージド Windows ランタイム コンポーネント内のすべてのパブリック型がシールドされている必要があります。Starting with Windows 8 and the .NET Framework 4.5, all public types in a managed Windows Runtime component must be sealed. 別の Windows ランタイム コンポーネント内の型を、それらから派生させることはできません。A type in another Windows Runtime component can't derive from them. コンポーネントでポリモーフィックな動作を提供するには、インターフェイスを作成し、そのインターフェイスをポリモーフィックな型に実装します。If you want to provide polymorphic behavior in your component, you can create an interface and implement it in the polymorphic types.

  • コンポーネント内のパブリック型で指定されるすべてのパラメーターと戻り値の型は、Windows ランタイムの型 (コンポーネントで定義する Windows ランタイムの型を含む) である必要があります。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).

次のセクションでは、一般的なシナリオの例を示します。The following sections provide examples of common scenarios.

JavaScript を使用した Windows 8.x Store アプリ用のアプリケーション ロジックApplication Logic for a Windows 8.x Store App with JavaScript

JavaScript を使用して Windows 用の Windows 8.x Store アプリを開発する場合、アプリケーション ロジックの一部がマネージド コードでより適切に機能したり、開発が容易であったりすることがあります。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. JavaScript では .NET Framework クラス ライブラリを直接使用できませんが、クラス ライブラリを .WinMD ファイルにすることができます。JavaScript can't use .NET Framework class libraries directly, but you can make the class library a .WinMD file. このシナリオでは、Windows ランタイム コンポーネントはアプリに不可欠な部分であるため、バージョン属性を提供する意味がありません。In this scenario, the Windows Runtime component is an integral part of the app, so it doesn't make sense to provide version attributes.

再利用可能な Windows 8.x Store UI コントロールReusable Windows 8.x Store UI Controls

関連する UI コントロールのセットを再利用可能な Windows ランタイム コンポーネントにパッケージ化できます。You can package a set of related UI controls in a reusable Windows Runtime component. コンポーネントは、単独で商品化することも、作成するアプリの要素として使用することもできます。The component can be marketed on its own or used as an element in the apps you create. このシナリオでは、Windows ランタイム の VersionAttribute 属性を使用して互換性を高めることに意味があります。In this scenario, it makes sense to use the Windows Runtime VersionAttribute attribute to improve compatibility.

既存の .NET Framework アプリからの再利用可能なアプリケーション ロジックReusable Application Logic from Existing .NET Framework Apps

既存のデスクトップ アプリからマネージド コードをスタンドアロンの Windows ランタイム コンポーネントとしてパッケージ化できます。You can package managed code from your existing desktop apps as a standalone Windows Runtime component. これによって、C# または Visual Basic を使用してビルドされる Windows 8.x Store アプリに加えて、C++ または JavaScript を使用してビルドされる Windows 8.x Store アプリでも、コンポーネントを使用できるようになります。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. コードに再利用シナリオが複数ある場合、バージョン管理はオプションです。Versioning is an option if there are multiple reuse scenarios for the code.

TitleTitle 説明Description
Windows ストア アプリ用 .NET の概要.NET for Windows Store apps overview Windows 8.x Store アプリと Windows ランタイム コンポーネントの作成に使用できる .NET Framework の型およびメンバーについて説明しますDescribes the .NET Framework types and members that you can use to create Windows 8.x Store apps and Windows RuntimeComponents. (Windows デベロッパー センター内)。(In the Windows Dev Center.)
C# または Visual Basic を使った Windows ストア アプリのためのロードマップRoadmap for Windows Store apps using C# or Visual Basic C# または Visual Basic を使用して Windows 8.x Store アプリの開発を開始するときに役立つ主要リソース (各種クイック スタート トピック、ガイドライン、ベスト プラクティスなど) が用意されています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. (Windows デベロッパー センター内)。(In the Windows Dev Center.)
操作方法 (XAML)How tos (XAML) C# または Visual Basic を使用して Windows 8.x Store アプリの開発を開始するときに役立つ主要リソース (各種クイック スタート トピック、ガイドライン、ベスト プラクティスなど) が用意されています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. (Windows デベロッパー センター内)。(In the Windows Dev Center.)
C# および Visual Basic での Windows ランタイム コンポーネントの作成Creating Windows Runtime Components in C# and Visual Basic .NET Framework を使用して Windows ランタイム コンポーネントを作成する方法、JavaScript を使用して Windows 用にビルドされた Windows 8.x Store アプリの一部としてそのコンポーネントを使用する方法、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. (Windows デベロッパー センター内)。(In the Windows Dev Center.)
Windows ランタイム リファレンスWindows Runtime reference Windows ランタイムのリファレンス ドキュメントThe reference documentation for the Windows Runtime. (Windows デベロッパー センター内)。(In the Windows Dev Center.)
Windows ランタイムへの URI の引き渡しPassing a URI to the Windows Runtime マネージド コードから Windows ランタイムに URI を渡すときに発生する可能性がある問題と、その回避方法について説明します。Describes an issue that can arise when you pass a URI from managed code to the Windows Runtime, and how to avoid it.