You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: docs/vs-2015/extensibility/creating-a-software-development-kit.md
+36-36Lines changed: 36 additions & 36 deletions
Original file line number
Diff line number
Diff line change
@@ -57,7 +57,7 @@ A software development kit (SDK) is a collection of APIs that you can reference
57
57
|DesignTime folder|Contains files that are needed only at pre-run/debugging time. These could include XML docs, libraries, headers, Toolbox design-time binaries, MSBuild artifacts, and so forth<br /><br /> XML docs would, ideally, be placed in the \DesignTime folder, but XML docs for references will continue to be placed alongside the reference file in Visual Studio. For example, the XML doc for a reference \References\\[config]\\[arch]\sample.dll will be \References\\[config]\\[arch]\sample.xml, and the localized version of that doc will be \References\\[config]\\[arch]\\[locale]\sample.xml.|
58
58
|Configuration folder|There can be only three folders: debug, retail and CommonConfiguration. SDK authors can place their files under CommonConfiguration if the same set of SDK files should be consumed, regardless of the configuration that the SDK consumer will target.|
59
59
|Architecture folder|Any supported architecture folder can exist. Visual Studio supports the following architectures: x86, x64, ARM, and neutral. Note: Win32 maps to x86, and AnyCPU maps to neutral.<br /><br /> MSBuild looks only under \CommonConfiguration\neutral for Platform SDKs.|
60
-
|SDKManifest.xml|This file describes how Visual Studio should consume the SDK. Look at the SDK Manifest for [!INCLUDE[win81](../includes/win81-md.md)]:<br /><br /> `<FileList DisplayName = “Windows” PlatformIdentity = “Windows, version=8.1” TargetFramework = “.NET for Windows Store apps, version=v4.5.1; .NET Framework, version=v4.5.1” MinVSVersion = “14.0”> <File Reference = “Windows.winmd”> <ToolboxItems VSCategory = “Toolbox.Default” /> </File> </FileList>`<br /><br /> **DisplayName:** The value that the Object Browser displays in the Browse list.<br /><br /> **PlatformIdentity:** The existence of this attribute tells Visual Studio and MSBuild that the SDK is a platform SDK and that the references added from it shouldn't be copied locally.<br /><br /> **TargetFramework:** This attribute is used by Visual Studio to ensure that only projects that target the same Frameworks as specified in the value of this attribute can consume the SDK.<br /><br /> **MinVSVersion:** This attribute is used by Visual Studio to consume only the SDKs that apply to it.<br /><br /> **Reference:** This attribute must to be specified for only those references that contain controls. For information about how to specify whether a reference contains controls, see below.|
60
+
|SDKManifest.xml|This file describes how Visual Studio should consume the SDK. Look at the SDK Manifest for [!INCLUDE[win81](../includes/win81-md.md)]:<br /><br /> `<FileList DisplayName = "Windows" PlatformIdentity = "Windows, version=8.1" TargetFramework = ".NET for Windows Store apps, version=v4.5.1; .NET Framework, version=v4.5.1" MinVSVersion = "14.0"> <File Reference = "Windows.winmd"> <ToolboxItems VSCategory = "Toolbox.Default" /> </File> </FileList>`<br /><br /> **DisplayName:** The value that the Object Browser displays in the Browse list.<br /><br /> **PlatformIdentity:** The existence of this attribute tells Visual Studio and MSBuild that the SDK is a platform SDK and that the references added from it shouldn't be copied locally.<br /><br /> **TargetFramework:** This attribute is used by Visual Studio to ensure that only projects that target the same Frameworks as specified in the value of this attribute can consume the SDK.<br /><br /> **MinVSVersion:** This attribute is used by Visual Studio to consume only the SDKs that apply to it.<br /><br /> **Reference:** This attribute must to be specified for only those references that contain controls. For information about how to specify whether a reference contains controls, see below.|
61
61
62
62
## <aname="ExtensionSDKs"></a> Extension SDKs
63
63
The following sections describe what you need to do to deploy an extension SDK.
@@ -136,22 +136,22 @@ A software development kit (SDK) is a collection of APIs that you can reference
1. DisplayName: the value that appears in the Reference Manager, Solution Explorer, Object Browser, and other locations in the user interface for Visual Studio.
162
162
163
-
2. ProductFamilyName: The overall SDK product name. For example, the [!INCLUDE[winjs_long](../includes/winjs-long-md.md)] SDK is named “Microsoft.WinJS.1.0” and “Microsoft.WinJS.2.0”, which belong to the same family of SDK products family, “Microsoft.WinJS”. This attribute allows Visual Studio and MSBuild to make that connection. If this attribute doesn’t exist, the SDK Name is used as the product family name.
163
+
2. ProductFamilyName: The overall SDK product name. For example, the [!INCLUDE[winjs_long](../includes/winjs-long-md.md)] SDK is named "Microsoft.WinJS.1.0" and "Microsoft.WinJS.2.0", which belong to the same family of SDK products family, "Microsoft.WinJS". This attribute allows Visual Studio and MSBuild to make that connection. If this attribute doesn’t exist, the SDK Name is used as the product family name.
164
164
165
165
3. FrameworkIdentity: specifies a dependency on one or more Windows component libraries The value of this attribute is put into the consuming app’s manifest. This attribute is applicable only to Windows component libraries.
166
166
167
-
4. TargetFramework: specifies the SDKs that are available in the Reference Manager and the toolbox. This is a semicolon-delimited list of target framework monikers, for example “.NET Framework, version=v2.0; .NET Framework, version=v4.5.1”. If several versions of the same target framework are specified, the Reference Manager uses the lowest specified version for filtering purposes. For example, if “.NET Framework, version=v2.0; .NET Framework, version=v4.5.1” is specified, Reference Manager will use “.NET Framework, version=v2.0”. If a specific target framework profile is specified, only that profile will be used by the Reference Manager for filtering purposes. For example, when “Silverlight, version=v4.0, profile=WindowsPhone” is specified, Reference Manager filters on only the Windows Phone profile; a project targeting the full Silverlight 4.0 Framework does not see the SDK in the Reference Manager.
167
+
4. TargetFramework: specifies the SDKs that are available in the Reference Manager and the toolbox. This is a semicolon-delimited list of target framework monikers, for example ".NET Framework, version=v2.0; .NET Framework, version=v4.5.1". If several versions of the same target framework are specified, the Reference Manager uses the lowest specified version for filtering purposes. For example, if ".NET Framework, version=v2.0; .NET Framework, version=v4.5.1" is specified, Reference Manager will use ".NET Framework, version=v2.0". If a specific target framework profile is specified, only that profile will be used by the Reference Manager for filtering purposes. For example, when "Silverlight, version=v4.0, profile=WindowsPhone" is specified, Reference Manager filters on only the Windows Phone profile; a project targeting the full Silverlight 4.0 Framework does not see the SDK in the Reference Manager.
168
168
169
169
5. MinVSVersion: the minimum Visual Studio version.
170
170
171
171
6. MaxPlatformVerson: The maximum target platform version should be used to specify the platform versions on which your Extension SDK will not work. For example, the Microsoft Visual C++ Runtime Package v11.0 should be referenced only by Windows 8 projects. Thus, the Windows 8 project's MaxPlatformVersion is 8.0. This means that the Reference Manager filters out Microsoft Visual C++ Runtime Package for a Windows 8.1 project, and MSBuild throws an error when a [!INCLUDE[win81](../includes/win81-md.md)] project references it. Note: this element is supported starting in [!INCLUDE[vs_dev12](../includes/vs-dev12-md.md)].
172
172
173
-
7. AppliesTo: specifies the SDKs that are available in the Reference Manager by specifying applicable Visual Studio project types. Nine values are recognized: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, Managed, and Native. The SDK author can use and (“+’), or (“|”), not (“!”) operators to specify exactly the scope of project types that apply to the SDK.
173
+
7. AppliesTo: specifies the SDKs that are available in the Reference Manager by specifying applicable Visual Studio project types. Nine values are recognized: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, Managed, and Native. The SDK author can use and ("+’), or ("|"), not ("!") operators to specify exactly the scope of project types that apply to the SDK.
174
174
175
175
WindowsAppContainer identifies projects for [!INCLUDE[win8_appname_long](../includes/win8-appname-long-md.md)] apps.
176
176
177
-
8. SupportPrefer32Bit: Supported values are “True” and “False”. The default is "True". If the value is set to “False”, MSBuild returns an error for [!INCLUDE[win8_appname_long](../includes/win8-appname-long-md.md)] projects (or a warning for desktop projects) if the project that references the SDK has Prefer32Bit enabled. For more information about Prefer32Bit, see [Build Page, Project Designer (C#)](../ide/reference/build-page-project-designer-csharp.md) or [Compile Page, Project Designer (Visual Basic)](../ide/reference/compile-page-project-designer-visual-basic.md).
177
+
8. SupportPrefer32Bit: Supported values are "True" and "False". The default is "True". If the value is set to "False", MSBuild returns an error for [!INCLUDE[win8_appname_long](../includes/win8-appname-long-md.md)] projects (or a warning for desktop projects) if the project that references the SDK has Prefer32Bit enabled. For more information about Prefer32Bit, see [Build Page, Project Designer (C#)](../ide/reference/build-page-project-designer-csharp.md) or [Compile Page, Project Designer (Visual Basic)](../ide/reference/compile-page-project-designer-visual-basic.md).
178
178
179
179
9. SupportedArchitectures: a semi-colon delimited list of architectures that the SDK supports. MSBuild displays a warning if the targeted SDK architecture in the consuming project isn't supported. If this attribute isn't specified, MSBuild never displays this type of warning.
0 commit comments