다음을 통해 공유


방법: 소프트웨어 개발 키트 만들기

소프트웨어 개발 키트 (SDK)는 파일의 컬렉션이 Visual Studio 단일 참조 항목으로 취급 합니다.참조 관리자 대화 상자를 호출 하는 프로젝트에 관련 된 모든 Sdk에 나열 된 참조 관리자 대화 상자.SDK를 프로젝트에 추가 하면 모든 내용을 IntelliSense를 통해 사용할 수 있습니다 도구, 디자이너, 개체 브라우저, 빌드, 배포, 디버깅 및 패키징.

Sdk에는

  • 플랫폼 Sdk 플랫폼을 위한 응용 프로그램을 개발 하기 위한 필수 구성 요소입니다.예를 들어,는 Windows 8 SDK를 개발 하는 데 필요한 Windows 스토어 응용 프로그램입니다.

  • 확장 Sdk 플랫폼을 확장 하지만 해당 플랫폼에 대한 응용 프로그램을 개발 하는 데 필수 되지 않는 선택적 구성 요소입니다.

다음 단원에서는 일반적인 인프라 Sdk 및 플랫폼 SDK를 만드는 방법 및 SDK 확장 합니다.

  • 대상 플랫폼 모니커

  • 플랫폼 Sdk

  • Sdk 확장

대상 플랫폼 모니커

Visual Studio 2012두 개의 새 속성을 지원합니다.

  1. 대상 플랫폼 식별자 (TPI): 다양 한 플랫폼의 소프트웨어를 개발할 수 있습니다이 속성의 유효한 값으로 구성 됩니다.Windows 플랫폼의 예제입니다.

  2. 대상 플랫폼 버전 (TPV):이 속성은 대상 플랫폼의 버전을 식별 합니다.예를 들어, Windows 8, TPV는 8.0 이며 TPI의 Windows.

대상 플랫폼 모니커 (기초를 형성 하는 TPM),이 두 속성을 함께 형성에 Windows 8 및 SDK 인프라를 참조 합니다.TPM에 대한 예를 들어, Windows 8 는 "Windows, 버전 8.0 =".

플랫폼 Sdk

플랫폼 Sdk 플랫폼을 위한 응용 프로그램을 개발 해야 합니다.예를 들어,는 Windows 8 SDK에 대한 응용 프로그램을 개발 하는 데 필요한 Windows 8.

Hh768146.collapse_all(ko-kr,VS.110).gif설치

모든 플랫폼 Sdk HKLM\Software\Microsoft\Microsoft Sdks\[tpi]\v[tpv]\@installationfolder에 설치 됩니다 [SDK 루트] =.적절 하 게는 Windows 8 HKLM\Software\Microsoft\Microsoft Sdks\windows\v8.0에서 SDK를 설치 합니다.

Hh768146.collapse_all(ko-kr,VS.110).gifLayout

플랫폼 Sdk 레이아웃을 다음과 같습니다.

\[InstallationFolder root]
            SDKManifest.xml
            \References
                  \[config]
                        \[arch]
            \DesignTime
                  \[config]
                        \[arch]

노드

설명

참조 폴더

에 대해 코딩 된 Api를 포함 하는 이진 파일이 포함 되어 있습니다.이러한 Windows 메타 데이터 (WinMD) 파일 또는 어셈블리에 포함 될 수 있습니다.

DesignTime 폴더

만 사전 run/디버깅 시 필요한 파일이 들어 있습니다.이러한 XML 문서, 라이브러리, 헤더, 디자인 타임 이진 도구 상자, MSBuild 아티팩트 등 포함 될 수 있습니다.

주의 정보주의
XML 문서 같이 원칙적으로 \DesignTime 폴더에 배치할 수 있지만 XML 문서에 대한 참조 참조 파일에 함께 저장 계속 Visual Studio 2012.예를 들어, XML 문서에 대한 참조 \References\[config]\[arch]\sample.dll \References\[config]\[arch]\sample.xml, 되며 해당 doc의 지역화 된 버전을 \References\[config]\[arch]\[locale]\sample.xml 수 있습니다.

구성 폴더

만 세 폴더 수: 디버그, 소매 및 CommonConfiguration.동일한 집합을 SDK 파일을 SDK 소비자 대상의 구성에 관계 없이 사용 해야 하는 경우 SDK 작성자 CommonConfiguration 파일을 배치할 수 있습니다.

아키텍처 폴더

지원 되는 아키텍처 폴더에 존재할 수 있습니다.Visual Studio 2012다음 아키텍처를 지원: x86, x64, ARM, 및 중립.참고: Win32 x86에 매핑하고 AnyCPU 중립에 매핑합니다.

.NET Framework 4.5, Msbuild는 플랫폼 Sdk에 대한 아래 \commonconfiguration\neutral만 찾으려면 하드 코딩 합니다.

SDKManifest.xml

이 파일은 Visual Studio SDK를 사용 하는 해야 설명 합니다.SDK 매니페스트를 살펴보면 Windows 8.

<FileList
            DisplayName = “Windows”
            PlatformIdentity = “Windows, version=8.0”
            TargetFramework = “.NET for Windows Store apps, version=v4.5; .NET Framework, version=v4.5”
            MinVSVersion = “11.0”>
            <File Reference = “Windows.winmd”>
               <ToolboxItems VSCategory = “Toolbox.Default” />
            </File>
</FileList>
DisplayName개체 브라우저의 찾아보기 목록에 표시 되는 값입니다.
PlatformIdentity이 특성의 존재 하 고 Visual Studio 추가 된 참조를 복사 하면 안 되는 SDK 플랫폼 SDK 및 MSBuild 로컬로 알려줍니다.
TargetFrameworkVisual Studio이 특성의 값이 지정 된 동일한 프레임 워크를 대상으로 하는 투영 되도록 사용 특성 SDK를 소비할 수 있습니다.
MinVSVersion이 특성 적용 Sdk만을 사용 하 여 Visual Studio 사용 됩니다.
참조이 특성이 포함 컨트롤에 대한 참조에만 지정 해야 합니다.컨트롤에 대한 참조가 있는지 여부를 지정 하는 방법에 대한 내용은 아래를 참조 하십시오.

Hh768146.collapse_all(ko-kr,VS.110).gifVisual Studio

참조 관리자는 대상 플랫폼 모니커 (TPM)를 살펴보고 다음 HKLM\Software\Microsoft\Microsoft Sdks\[tpi]\v[tpv]\@installfolder의 속성 값을 대체 [SDK 루트] = Platform SDK의 디스크 위치를 검색 합니다.참조 관리자는 다음을 수행합니다.

  1. 매니페스트 플랫폼 SDK 참조 관리자 호출 된 Visual Studio 버전에 적용할 수 있는지 여부를 확인 하려면 SDK를 열고 여부는 플랫폼 SDK 참조 관리자를 호출 하는 프로젝트의 대상된 프레임 워크에 적용할 수 있습니다.플랫폼 SDK는 두 카운트에 적용할 수 있으면 참조 관리자 플랫폼 SDK 참조를 열거 하는 탭의 이름에 대한 대상 플랫폼 식별자 속성을 사용 합니다.플랫폼 SDK 디스크에서 찾을 수 없습니다, 탭을 여전히 나타나지만 중간 창에 메시지가 표시 됩니다 경우 "[TPI] SDK 찾을 수 없습니다 컴퓨터에서".

  2. [TPI]에서 [InstallFolder 루트] \references\CommonConfiguration\neutral 폴더 아래에 지정 된 모든 참조를 열거 합니다. | 핵심 탭입니다.

사용자 플랫폼 SDK에서 해당 프로젝트에 참조를 추가 하 고 코드에 사용 된 어셈블리 또는 WinMD 처럼 다음.

Sdk 확장

확장 Sdk 플랫폼을 확장 하지만 해당 플랫폼에 대한 응용 프로그램을 개발 하는 데 필수 되지 않습니다.예를 들어 Bing Maps와 Sdk Windows Live를 확장 Windows 8 모든 개발자는 운영 체제에 필요 하지 않은 있지만.

Hh768146.collapse_all(ko-kr,VS.110).gif설치

확장 Sdk 네 위치 중 하나에서 설정할 수 있습니다.

  • \Program Files\Microsoft SDKs\ [TPI] \v [TPV] \ExtensionSDKs

  • [TPI] \Users\[username]\AppData\Local\Microsoft SDKs\ \v [TPV] \ExtensionSDKs

  • 프로젝트 파일에서 <PropertyGroup><SDKReferenceDirectoryRoot>dir1;dir2</SDKReferenceDirectoryRoot></PropertyGroup> dir1 및 dir2 확인 모든 디스크의 두 위치

  • HKLM\Software\Microsoft\Microsoft SDKs\[TPI]\v[TPV]\ExtensionSDKs\[SDKName]\[SDKVersion]\@default [SDK 루트] [경로 SDK에] 있는 [SDK 루트] = \ [SDKName] \ [SDKVersion] \

레지스트리 키의 처음 세 개의 위치를 필요 합니다.방금 컴퓨터 수준, 사용자 지정 또는 사용자 지정 위치에 확장 SDK를 삭제할 수 있습니다 및 Visual Studio SDK를 간단 하 게 선택 합니다.이러한 메커니즘 중 적절 한 없는 경우 네 번째 위치에 레지스트리 경로 사용 하 여 SDK의 사용자 지정 위치를 지정할 수 있습니다.

Hh768146.collapse_all(ko-kr,VS.110).gifLayout

확장 Sdk 레이아웃을 다음과 같습니다.

\[ExtensionSDKs root]
           \[SDKName]
                 \[SDKVersion]
                        SDKManifest.xml
                        \References
                              \[config]
                                    \[arch]
                        \Redist
                              \[config]
                                    \[arch]
                        \DesignTime
                               \[config]
                                     \[arch]

노드

설명

\[SDKName]\[SDKVersion]

확장 SDK의 id를 구성합니다.즉, 확장 SDK의 버전을 확인 하 고 이름에서에서 파생 되며 해당 폴더 이름에 경로 SDK 루트.Msbuild이이 id를 사용 하 여 디스크에서 SDK를 찾기 및 Visual Studio이 id를 표시는 속성 창 고 관리자 참조 합니다.

참조 폴더

에 대해 코딩 된 Api를 포함 하는 이진 파일이 구성 됩니다.이러한 Windows 메타 데이터 (WinMD) 파일 또는 어셈블리 수 있습니다.

Redist 폴더

런타임/디버깅을 위해 필요 하 고 사용자의 응용 프로그램의 일부로 패키지 가져오기 해야 파일이 구성 됩니다.두 가지 규칙이 적용 됩니다.

  1. 모든 이진 \redist\[config]\[arch 아래 배치 되어야] 하 고는 이진 이름을 고유성을 확보 하려면 다음 형식을 사용 해야 합니다: [회사].[product]입니다.[용도]입니다.[확장명]입니다.예를 들어, Microsoft.cpp.build.dll입니다.

  2. 다른 Sdk (예: javascript, css, pri, xaml, png 및 jpg 파일)에서 파일 이름이 충돌할 이름의 모든 파일이 \redist\[config]\[arch]\[sdkname]\ XAML 컨트롤에 연결 된 파일을 제외 하 고 아래에 배치 되어야 합니다.이러한 파일은 \redist\[config]\[arch]\[componentname]\ 아래 배치 되어야 합니다.

DesignTime 폴더

필요한 사전 run/디버깅 시간만 하 고 사용자의 응용 프로그램의 일부로 패키지 안 파일 구성 됩니다.이러한 XML 문서, 라이브러리, 헤더, 디자인 타임 이진 도구 상자, MSBuild 아티팩트 등 수 있습니다.

주의 정보주의
네이티브 프로젝트 소비 해야를 갖는 모든 SDK는 SDKName.props 파일입니다.다음 코드 샘플을이 파일 형식 보여 줍니다.
<?xml version="1.0" encoding="utf-8"?>
<Project xmlns="https://schemas.microsoft.com/developer/msbuild/2003">
  <PropertyGroup>
    <ExecutablePath>C:\Temp\ExecutablePath;$(ExecutablePath)</ExecutablePath>
    <IncludePath>$(FrameworkSDKRoot)\..\v8.0\ExtensionSDKs\cppimagingsdk\1.0\DesignTime\CommonConfiguration\Neutral\include;$(IncludePath)</IncludePath>
    <AssemblyReferencePath>C:\Temp\AssemblyReferencePath;$(AssemblyReferencePath)</AssemblyReferencePath>
    <LibraryPath>$(FrameworkSDKRoot)\..\v8.0\ExtensionSDKs\cppimagingsdk\1.0\DesignTime\Debug\ARM;$(LibraryPath)</LibraryPath>
    <SourcePath>C:\Temp\SourcePath\X64;$(SourcePath)</SourcePath>
    <ExcludePath>C:\Temp\ExcludePath\X64;$(ExcludePath)</ExcludePath>
    <_PropertySheetDisplayName>DevILSDK, 1.0</_PropertySheetDisplayName>
  </PropertyGroup>
</Project>
참고참고
XML 문서 같이 원칙적으로 \DesignTime 폴더에 배치할 수 있지만 XML 문서에 대한 참조 참조 파일에 함께 저장 계속 Visual Studio 2012.예를 들어, XML 문서에 대한 참조 \References\[config]\[arch]\sample.dll \References\[config]\[arch]\sample.xml, 되며 해당 doc의 지역화 된 버전을 \References\[config]\[arch]\[locale]\sample.xml 수 있습니다.

구성 폴더

만 세 폴더 수: 디버그, 소매 및 CommonConfiguration.동일한 집합을 SDK 파일을 SDK 소비자가 대상으로 구성에 관계 없이 사용 해야 하는 경우 SDK 작성자 CommonConfiguration 파일을 배치할 수 있습니다.

아키텍처 폴더

지원 되는 아키텍처 폴더에 존재할 수 있습니다.Visual Studio 2012지원 아키텍처: x86, x64, ARM, 중립.Win32 x86에 매핑하고 AnyCPU 중립에 매핑합니다.

SDKManifest.xml

이 파일은 Visual Studio SDK를 사용 하는 해야 설명 합니다.다음 샘플에서는에 SDK 매니페스트를 찾습니다.

<FileList
DisplayName = “My SDK”
ProductFamilyName = “My SDKs”
FrameworkIdentity-Debug = “Name=MySDK.10.Debug, MinVersion=1.0.0.0”
FrameworkIdentity-Retail = “Name=MySDK.10, MinVersion=1.0.0.0”
TargetFramework = “.NETCore, version=v4.5; .NETFramework, version=v4.5”
MinVSVersion = “11.0”
AppliesTo = "WindowsAppContainer + WindowsXAML"
SupportPrefer32Bit = “OS”
SupportedArchitectures = “x86;x64;ARM”
SupportsMultipleVersions = “Error”
AppX-Debug-x86 = “.\AppX\Debug\x86\Microsoft.MySDK.x86.Debug.1.0.appx”
AppX-Debug-x64 = “.\AppX\Debug\x64\Microsoft.MySDK.x64.Debug.1.0.appx”
AppX-Debug-ARM = “.\AppX\Debug\ARM\Microsoft.MySDK.ARM.Debug.1.0.appx”
AppX-Release-x86 = “.\AppX\Retail\x86\Microsoft.MySDK.x86.1.0.appx”
AppX-Release-x64 = “.\AppX\Retail\x64\Microsoft.MySDK.x64.1.0.appx”
AppX-Release-ARM = “.\AppX\Retail\ARM\Microsoft.MySDK.ARM.1.0.appx” 
CopyRedistToSubDirectory = “.”
DependsOn = “SDKB, version=2.0”
MoreInfo = “https://msdn.microsoft.com/MySDK”>
<File Reference = “MySDK.Sprint.winmd” Implementation = “XNASprintImpl.dll”>
<Registration Type = “Flipper” Implementation = “XNASprintFlipperImpl.dll” />
<Registration Type = “Flexer” Implementation = “XNASprintFlexerImpl.dll” />
<ToolboxItems VSCategory = “Toolbox.Default” />
</File>
</FileList>
노드설명
DisplayName참조 관리자, 솔루션 탐색기, 개체 브라우저 및 Visual Studio 사용자 인터페이스에서 다른 위치에 표시 되는 값입니다.
ProductFamilyName전체 SDK 제품 이름입니다.예를 들어,는 JavaScript용 Windows 라이브러리(WinJS) SDK 이름을 "Microsoft.WinJS.1.0" 및 "Microsoft.WinJS.2.0"는 SDK 제품 제품군, "Microsoft.WinJS" 같은 패밀리에 속한 Sdk 제공 됩니다.이 특성은 Visual Studio MSBuild 연결을 만들 수 있습니다.이 특성이 없으면 SDK 이름은 제품 가족 이름으로 사용 됩니다.
FrameworkIdentityWindows 구성 요소 라이브러리에만 적용 가능 합니다.이 특성의 값에 하나 이상의 Windows 구성 요소 라이브러리에 대한 종속성을 나타내려면 소비 응용 프로그램 매니페스트에 저장 됩니다.
TargetFrameworkSdk 참조 관리자 및 도구 상자에서 사용할 수 있는 결정 하는 데 사용 되는 값입니다.이 목록을 세미콜론으로 구분 된 대상 프레임 워크 모니커를 사용할 수 있습니다.동일한 대상 프레임 워크의 여러 버전을 지정 하지 않으면 참조 관리자 필터링을 위해 지정 된 최소 버전을 사용 합니다.예를 들어, 경우 ".NET Framework, 버전 = v2.0. .NET Framework, 버전 = v4.0 "지정한 참조 관리자 사용".NET Framework, 버전 v2.0 = ".특정 대상 프레임 워크 프로필을 지정 하지 않으면 해당 프로필 참조 관리자가 필터링 하기 위해 사용할 것입니다.예를 들어, "Silverlight 버전 v4.0, 프로필 = WindowsPhone =" 지정, 참조 됩니다만 필터 관리자에서 Windows Phone 프로필. Silverlight 4.0 전체 프레임 워크를 대상으로 하는 프로젝트는 SDK 참조 관리자에 표시 되지 않습니다.
MinVSVersion각 버전의 Visual Studio Sdk 표시 필터 하는 데 사용 합니다.
AppliesTo
Sdk가 적용 되는 Visual Studio 프로젝트 유형을 지정 하 여 참조 관리자에서 사용할 수 있는 결정 하는 데 사용 되는 값입니다.Visual Studio 2012, 9 개의 값이 인식 됩니다: WindowsAppContainer, VisualC, VB, CSharp, WindowsXAML, JavaScript, 관리 및 네이티브.SDK 작성자가 사용할 수 있는 및 ("+'), 또는 (" | ")가 아니라 ("! ") SDK를 적용 하는 프로젝트 형식 정확 하 게 범위를 지정 하는 연산자입니다.
참고참고
WindowsAppContainer 프로젝트에 대한 식별 Windows 스토어 응용 프로그램입니다.
SupportPrefer32Bit지원 되는 값입니다 "True"와 "False"입니다.값 "True"로 설정 되어 있으면 특성이 설정 되지 않은 경우 결과 동일 합니다. 즉, 기본 prefer32bit가 지원 되는 가정 합니다.값을 "false"로 설정 하는 경우 Msbuild에 대한 오류를 반환 Windows 스토어 프로젝트 (또는 데스크톱 프로젝트에 대한 경고) SDK를 참조 하는 프로젝트 Prefer32Bit 사용할 수 있는 경우.Prefer32bit에 대한 자세한 내용은, 프로그래밍 언어에 따라 다음 항목 중 하나를 참조 하십시오.
  1. 프로젝트 디자이너, 빌드 페이지(C#)

  2. 프로젝트 디자이너, 컴파일 페이지(Visual Basic) .

SupportedArchitectures구분한 SDK에서 지 원하는 아키텍처 목록입니다.MSBuild 대상된 SDK 아키텍처에서 프로젝트가 지원 되지 않는 경우 경고를 표시 합니다.이 특성이 지정 되지 않으면 MSBuild 이러한 유형의 경고가 표시 되지 않습니다.
SupportsMultipleVersions이 특성을로 설정 하면 오류 또는 경고, MSBuild 나타내는 동일한 프로젝트 같은 SDK 제품군의 여러 버전을 참조할 수 없습니다.이 특성이 존재 하지 않거나 설정 된 경우 허용, MSBuild 이러한 종류의 오류 또는 경고를 표시 하지 않습니다.
AppXWindows 구성 요소 라이브러리에만 적용 가능 합니다.특성 값이 디스크에 Windows 구성 요소 라이브러리에 대한 응용 프로그램 패키지에 대한 경로 지정 하 고 경로 로컬 디버깅 하는 동안 Windows 구성 요소 라이브러리 등록 구성 요소에 전달 됩니다.파일 이름에 대한 명명 규칙 [회사]입니다.[Product]입니다.[아키텍처]입니다.[구성]입니다.[버전].appx입니다.Windows 구성 요소 라이브러리에 적용 되지 않을 경우 구성 및 아키텍처 선택적 특성 이름과 특성 값입니다.
CopyRedistToSubDirectorySDK 작성자 \redist 폴더에 있는 파일이 복사 되지 응용 프로그램 패키지 루트를 기준으로 결정할 수 있습니다 (즉,에서 패키지 위치 응용 프로그램 패키지 만들기 마법사에서 선택) 및 런타임 레이아웃 루트.기본 위치는 응용 프로그램 패키지 및 F5 레이아웃 루트입니다.
DependsOn이 SDK에 종속 되어 있는 Sdk를 정의 하는 SDK id의 구분 된 목록입니다.이 특성에 참조 관리자의 세부 정보 창에 나타납니다.
MoreInfo소비자의 SDK 설명서와 함께 제공 되는 웹 페이지의 URL을 포함 합니다.추가 정보 링크 참조 관리자의 오른쪽 창에서이 값이 사용 됩니다.
파일 참조이 특성은 컨트롤을 포함 하거나 네이티브 Winmd을 등록 형식을 지정 해야 하는 해당 어셈블리/WinMD 참조에만 지정 되어야 합니다.
등록 유형이 특성 WinMD 등록 된 응용 프로그램 매니페스트를 지정 하 고는 대응 구현이 DLL 네이티브 Winmd에 대한 필요 합니다.
도구 상자
다음 표에서 지원 되는 특성에 설명합니다.
도구 상자에서 배치SDKManifest.xml 예제 (참조-WinMD 또는 DLL 해당)
모든 컨트롤을 열거 하 고 기본 도구 상자 범주에 배치 합니다.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory = “Toolbox.Default”/>     
</File>
모든 컨트롤을 열거 하 여 특정 범주 이름 아래 위치에 있습니다.
<File Reference = “sample.winmd”>
                <ToolboxItems VSCategory= “MyCategoryName”/>
</File>
특정 컨트롤을 열거 하 여 카테고리 이름 아래 위치에 있습니다.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems/>
                < ToolboxItems VSCategory = “Data”>
                                <Item Type = “sample.datagrid”/>
                                <Item Type = “sample.dataconnection”/>
                < ToolboxItems />
</File>
특정 컨트롤을 열거 하 여 블렌드 및 Visual Studio 서로 다른 범주 이름은 아래 위치에 있습니다.
// Blend accepts a slightly different structure for the category name because it allows a path rather than a single category.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph” BlendCategory = “Controls/sample/Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>
다르게 블렌드 및 Visual Studio 특정 컨트롤을 열거 합니다.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Graph”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                <ToolboxItems/>
                < ToolboxItems BlendCategory = “Controls/sample/Graph”>
                                <Item Type = “sample.piegraph”/>
                <ToolboxItems/>
</File>
특정 컨트롤을 열거 하 고 Visual Studio 공통 경로 또는 모든 컨트롤 그룹에만 배치 합니다.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.Common”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
                < ToolboxItems VSCategory = “Toolbox.All”>
                                <Item Type = “sample.datagrid”/>
                                <Item Type = “sample.dataconnection”/>
                < ToolboxItems />
</File>
특정 컨트롤을 열거 하 고 Chooseitems에만 특유 하지 않고 표시 되는 도구 상자에서.
<File Reference = “sample.winmd”>
                < ToolboxItems VSCategory = “Toolbox.ChooseItemsOnly”>
                                <item Type = “sample.bargraph”/>
                                <Item Type = “sample.piegraph”/>
                < ToolboxItems />
</File>

Hh768146.collapse_all(ko-kr,VS.110).gifVisual Studio

참조 관리자는 대상 플랫폼 모니커 (TPM)에 어떻게 표시 되 고 \Users\[username]\Microsoft SDKs\ [TPI] \v [TPV] \ExtensionSDKs, \Program Files\Microsoft SDKs\ [TPI] \v [TPV] \ExtensionSDKs, HKLM\Software\Microsoft\Microsoft SDKs\ [TPI] \v [TPV] \ExtensionSDKs\ 확장 Sdk의 디스크 위치를 검색 하는 속성 값을 대체 합니다.

다음 SDK 매니페스트 확장 SDK의 참조 관리자를 확장 SDK 참조 관리자를 호출 하는 프로젝트의 대상된 프레임 워크에 적용할 수 있는지 여부와 참조 관리자를 호출 하는 프로젝트 시스템의 보급된 기능 AppliesTo 특성 값이 일치 하는지 여부 호출 된 Visual Studio 버전에 적용할 수 있는지 여부를 확인 하려면 각 확장 SDK의 참조 관리자를 엽니다.확장 SDK 모든 카운트에 적용할 수 있으면 참조 관리자 표시 이름, 버전 및 SDK 의존 관계를 표시 하 고 SDK 확장 매니페스트에 올바르게 추가 정보 링크를 채웁니다.

확장 SDK 참조 관리자는 단일 항목으로 나타납니다.추가 하면 단일 노드로 나타납니다 솔루션 탐색기 관리 되는 응용 프로그램 및 Windows 스토어 Javascript를 사용 하 여 Windows에 대한 기본 제공 응용 프로그램입니다.SDK는 Visual C++ 프로젝트의 속성 페이지에서 단일 항목으로도 나타납니다.이제 사용자가 아무 조치를 취할 필요가 없습니다.사용자가 설정 된 IntelliSense, 도구 상자, 디자이너에 대한 개체 브라우저, 빌드, 배포, 디버깅 및 패키징입니다.

[!참고]

  1. 대상으로 하는 프로젝트 구성 및 아키텍처에 따라 Visual Studio 덜 특정 참조 가장 구체적인 선택 합니다.예를 들어, 디버그 대상된 SDK 구성 되어 있고 대상된 SDK 아키텍처 x 86 이면 Visual Studio 모든 참조 \references\commonconfiguration\neutral, 다음 \references\commonconfiguration\x86, \references\debug\neutral, 다음 \references\debug\x86와 마지막부터 열거 됩니다.다음 적은 특정 중복 데이터를 제거 되 고 IntelliSense에 대한 모든 참조가 컴파일러에 전달 됩니다.참조 선택이 이런 SDK 작성자의 여러 \configuration\architecture 폴더에서 해당 참조를 복제 하지 않고 있습니다.

  2. 다른 SDK에 따라 SDK는 프로젝트를 참조 하는 경우 Visual Studio 자동으로 두 번째 SDK 소모 되지 않습니다.사용자가 두 번째 SDK에 대한 참조를 수동으로 추가 해야 합니다.SDK 확장 탭에서 지정 된 경우 참조 관리자 대화 상자에서 SDK 종속성 추론할 수 있도록 이름 및 버전의 SDK 세부 정보 창에 나열 하 고 (SDK 다른 SDK에 의존 하는 경우) SDK 종속성의 이름입니다.MSBuild SDK 종속성이 충족 되지 않을 경우 종속성을 추가 하 라는 경고를 반환 합니다.

  3. FrameworkIdentity: Visual Studio FrameworkIdentity-[구성] 먼저 찾습니다-[아치] 다음 FrameworkIdentity-[구성] FrameworkIdentity-[아치] 고 다음 FrameworkIdentity.일치 하는 항목을 찾으면 일치 하는 특성의 값을 기록 합니다.

  4. AppX: SDK 확인자 아키텍처 마다 가장 구체적인 AppX 특성 선택 하려고. 기본 내림차순: AppX-[구성]-[아치] (또는 AppX [config] 중립의 경우), 다음 AppX-[아치] 그리고 AppX.예를 들어, 매니페스트는 SDK는 다음과 같은 AppX 특성이 지정 하는 경우: "AppX-x 86", "AppX-디버그-x 86", "AppX-x 64", "ARM AppX", "AppX-ITA" 및 "AppX" 및 프로젝트 대상 된 debug와 x 86, SDK 확인자 "AppX-디버그-x 86", "AppX-x 64", "ARM AppX", "AppX-ITA" 및 "AppX"를 선택 합니다.

  5. SDK 참조 프로젝트 템플릿에서 다음과 같은 방식으로 SDK 참조를 지정 해야 합니다.

    <ItemGroup> <SDKReference Include="MySDK, Version=1.0">    <Name>My SDK</Name>  </SDKReference> </ItemGroup>

참고 항목

작업

연습: C++를 사용하여 SDK 만들기

연습: C#을 사용하여 SDK 만들기

개념

프로젝트 참조 관리