Visual Studio 2022용 Visual Studio 확장 업데이트
중요하다
이 문서의 조언은 개발자가 Visual Studio 2019 및 Visual Studio 2022 모두에서 작동하도록 주요 변경이 필요한 확장을 마이그레이션하는 방법을 안내할 수 있습니다. 이러한 경우 두 개의 VSIX 프로젝트와 조건부 컴파일을 사용하는 것이 좋습니다.
많은 확장이 Visual Studio 2019 및 Visual Studio 2022 모두에서 작동하며, 이 문서의 확장 현대화에 대한 조언에 따라 필요하지 않은 사소한 변경 내용이 있습니다. Visual Studio 2022에서 확장을 시도하고 확장에 가장 적합한 옵션을 평가합니다.
Visual Studio 2022는 64비트 애플리케이션이며 Visual Studio SDK에서 몇 가지 주요 변경 내용을 소개합니다. 이 문서에서는 Visual Studio 2022의 현재 미리 보기로 확장 작업을 수행하는 데 필요한 단계를 안내합니다. 그러면 Visual Studio 2022가 일반 공급에 도달하기 전에 사용자가 확장을 설치할 수 있습니다.
Visual Studio 설치 및 확장 컴파일
Visual Studio 2022 다운로드 에서 Visual Studio 2022를 설치합니다.
.NET 언어로 작성된 확장
관리되는 확장용 Visual Studio 2022를 대상으로 하는 Visual Studio SDK는 NuGet에서만 사용할 수 있습니다.
- Microsoft.VisualStudio.Sdk(17.x 버전) 메타패키지는 필요한 참조 어셈블리의 대부분 또는 전부를 제공합니다.
- Visual Studio 2022 규격 VSIX를 빌드할 수 있도록 Microsoft.VSSDK.BuildTools(17.x 버전) 패키지를 VSIX 프로젝트에서 참조해야 합니다.
호환성이 손상되는 변경 내용을 참조하지 않더라도 확장 모든 CPU 또는 x64 플랫폼을 컴파일해야 합니다. x86 플랫폼은 Visual Studio 2022의 64비트 프로세스와 호환되지 않습니다.
C++로 작성된 확장
C++로 컴파일된 확장용 Visual Studio SDK는 평소와 같이 설치된 Visual Studio SDK에서 사용할 수 있습니다.
호환성이 손상되는 변경 내용을 참조하지 않더라도, 확장 은 Visual Studio 2022 SDK 및 AMD64 전용으로 반드시 컴파일되어야 합니다.
실행 중인 코드가 있는 확장
Visual Studio 2022에서 실행해야 하는 코드 확장은 특정적으로 컴파일되어야 합니다. Visual Studio 2022는 이전 버전의 Visual Studio를 대상으로 하는 확장을 로드하지 않습니다.
이전 Visual Studio 버전의 확장을 Visual Studio 2022로 마이그레이션하는 방법을 알아봅니다.
- 프로젝트를현대화하세요.
- Visual Studio 2022 및 이전 버전을 대상으로 지정할 수 있도록 소스 코드를 공유 프로젝트 리팩터링합니다.
- Visual Studio 2022 대상 VSIX 프로젝트 및 패키지/어셈블리 다시 매핑 테이블추가합니다.
- 필요한 코드 조정을 하십시오.
- Visual Studio 2022 확장테스트합니다.
- Visual Studio 2022 확장을 게시하세요.
코드를 실행하지 않는 확장
실행 중인 코드(예: 프로젝트 또는 항목 템플릿)가 포함되지 않은 확장은 두 개의 고유한 VSIX의 프로덕션을 포함하여 이전 단계를 수행하는 데 필요하지 .
대신 해당 source.extension.vsixmanifest
파일이 두 개의 설치 대상을 선언할 수 있도록 하나의 VSIX를 수정합니다.
<Installation>
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[15.0,17.0)">
<ProductArchitecture>x86</ProductArchitecture>
</InstallationTarget>
<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)">
<ProductArchitecture>amd64</ProductArchitecture>
</InstallationTarget>
</Installation>
공유 프로젝트 및 여러 VSIX 사용에 대한 이 문서의 단계를 건너뛸 수 있습니다. 에 대한 테스트를로 진행할 수 있습니다.
메모
Visual Studio 2022를 사용하여 새 Visual Studio 확장을 작성하고 Visual Studio 2019 또는 이전 버전을 대상으로 지정하려는 경우 이 가이드 참조하세요.
MSBuild 작업
MSBuild 작업을 작성하는 경우 Visual Studio 2022에서 64비트 MSBuild.exe 프로세스에 로드될 가능성이 높습니다. 작업을 실행하기 위해 32비트 프로세스가 필요한 경우 대상 및 태스크 구성을 참조하여 MSBuild가 32비트 프로세스에서 작업을 로드하는지 확인합니다.
VSIX 프로젝트 현대화
확장에 Visual Studio 2022 지원을 추가하기 전에 기존 프로젝트를 정리하고 현대화하는 것이 좋습니다.
packages.config에서
PackageReference
로 마이그레이션합니다.Visual Studio SDK 어셈블리의 직접 참조를
PackageReference
항목 요소로 교체합니다.-<Reference Include="Microsoft.VisualStudio.OLE.Interop" /> +<PackageReference Include="Microsoft.VisualStudio.OLE.Interop" Version="..." />
팁
메타패키지에 대해 많은 어셈블리 참조를
PackageReference
인스턴스하나로 바꿀 수 있습니다.-<Reference Include="Microsoft.VisualStudio.OLE.Interop" /> -<Reference Include="Microsoft.VisualStudio.Interop" /> -<Reference Include="Microsoft.VisualStudio.Interop.8.0" /> +<PackageReference Include="Microsoft.VisualStudio.Sdk" Version="..." />
대상으로 하는 Visual Studio의 최소 버전과 일치하는 패키지 버전을 선택해야 합니다.
Visual Studio SDK에 고유하지 않은 일부 어셈블리(예: Newtonsoft.Json.dll)는 Visual Studio 2022 이전의 간단한 <Reference Include="Newtonsoft.Json" />
참조를 통해 검색할 수 있습니다. 하지만 Visual Studio 2022에서는 대신 패키지 참조가 필요합니다. 그 이유는 일부 Visual Studio 런타임 및 SDK 디렉터리를 MSBuild의 기본 어셈블리 검색 경로에서 제거하기 때문입니다.
직접 어셈블리 참조에서 NuGet 패키지 참조로 전환할 때 NuGet은 종속성의 전이적 닫기를 자동으로 설치하기 때문에 추가 어셈블리 참조 및 분석기 패키지를 선택할 수 있습니다. 일반적으로 정상이지만 빌드하는 동안 추가 경고가 발생할 수 있습니다. 이러한 경고를 처리하고 가능한 한 많은 문제를 해결합니다. 코드 내 #pragma warning disable <id>
영역을 사용하여 해결할 수 없는 경고를 숨기는 것을 고려하세요.
다중 대상 지정에 공유 프로젝트 사용
공유 프로젝트는 Visual Studio 2015에서 도입된 프로젝트 형식입니다. Visual Studio의 공유 프로젝트를 사용하면 조건부 컴파일 기호와 고유한 참조 집합을 사용하여 소스 코드 파일을 여러 프로젝트 간에 공유하고 다르게 빌드할 수 있습니다.
Visual Studio 2022에는 이전의 모든 Visual Studio 버전에서 고유한 참조 어셈블리 집합이 필요합니다. 따라서 공유 프로젝트를 사용하여 Visual Studio 2022, 이전 버전 및 이후 버전으로 확장을 편리하게 다중 대상으로 지정하는 것이 좋습니다. 이 기술은 코드 공유를 제공하지만 고유한 참조를 제공합니다.
Visual Studio 확장의 컨텍스트에서는 Visual Studio 2022 이상용 VSIX 프로젝트 1개와 Visual Studio 2019 이하의 VSIX 프로젝트 하나를 사용할 수 있습니다. 이러한 각 프로젝트에는 source.extension.vsixmanifest
인스턴스와 16.x SDK 또는 17.x SDK에 대한 패키지 참조만 포함됩니다. 또한 이러한 VSIX 프로젝트에는 두 Visual Studio 버전에서 공유할 수 있는 모든 소스 코드를 호스트하는 새 공유 프로젝트에 대한 공유 프로젝트 참조가 있습니다.
이 섹션에서는 Visual Studio 2019를 대상으로 하는 VSIX 프로젝트가 이미 있으며 Visual Studio 2022에서 확장이 작동하도록 가정합니다.
Visual Studio 2019를 사용하여 다음 모든 단계를 완료할 수 있습니다.
아직 하지 않으셨다면, 프로젝트를 현대화하여 이 업데이트 프로세스의 이후 단계가 더 수월해지도록 하십시오.
Visual Studio SDK를 참조하는 각 기존 프로젝트에 대한 새 공유 프로젝트를 솔루션에 추가합니다. 솔루션을 마우스 오른쪽 단추로 클릭한 다음 추가>새 프로젝트선택합니다.
새 프로젝트를 추가하기 위한 선택 항목을 보여 주는
새 프로젝트 추가 대화 상자에서 공유 프로젝트 검색한 다음 공유 프로젝트 템플릿을 선택합니다.
각 Visual Studio SDK 참조 프로젝트의 참조를 공유 프로젝트에 추가합니다.
각 Visual Studio SDK 참조 프로젝트에서 공유 프로젝트로 모든 소스 코드(.cs 및 .resx 파일 포함)를 이동합니다. source.extension.vsixmanifest 파일을 VSIX 프로젝트에 둡니다.
메타데이터 파일(예: 릴리스 정보, 라이선스 및 아이콘) 및 VSCT 파일을 공유 디렉터리로 이동합니다. 그런 다음 VSIX 프로젝트에 연결된 파일로 추가합니다. 공유 디렉터리가 공유 프로젝트와 별개입니다.
메타데이터 및 V S C T 파일을 연결된 파일로 추가하기 위한 선택 항목을 보여 주는
메타데이터 파일의 경우 빌드 작업 콘텐츠 설정합니다. VSIX Include를 True설정합니다.
V S I X에 메타데이터 파일을 포함하는 것을 보여 주는
VSCT 파일의 경우 빌드 작업 VSCTCompile 설정합니다. 을(를) VSIX에 포함시키는 설정을 에서 false로 변경합니다.
V S C T 파일에 대해 선택한 속성을 보여 주는
Visual Studio에서 이 설정이 지원되지 않는다고 불평하는 경우 프로젝트를 언로드하고
Content
VSCTCompile
변경하여 빌드 작업을 수동으로 변경할 수 있습니다.-<Content Include="..\SharedFiles\VSIXProject1Package.vsct"> - <Link>VSIXProject1Package.vsct</Link> -</Content> +<VSCTCompile Include="..\SharedFiles\VSIXProject1Package.vsct"> + <Link>VSIXProject1Package.vsct</Link> + <ResourceName>Menus.ctmenu</ResourceName> +</VSCTCompile>
프로젝트를 빌드하여 오류가 발생하지 않았는지 확인합니다.
이제 프로젝트에서 Visual Studio 2022 지원을 추가할 준비가 되었습니다.
Visual Studio 2022 대상 추가
이 섹션은 공유 프로젝트를 사용하여 Visual Studio 확장을 팩터링하는 단계 를 완료한 것으로 가정합니다.
다음 단계를 사용하여 확장에 Visual Studio 2022 지원을 추가합니다. Visual Studio 2019를 사용하여 완료할 수 있습니다.
솔루션에 새 VSIX 프로젝트를 추가합니다. 이 프로젝트는 Visual Studio 2022를 대상으로 합니다. 템플릿과 함께 제공된 소스 코드를 제거하지만 source.extension.vsixmanifest 파일을 유지합니다.
새 VSIX 프로젝트에서 Visual Studio 2019 대상 VSIX가 참조하는 것과 동일한 공유 프로젝트에 대한 참조를 추가합니다.
공유 프로젝트 1개와 V S I X 프로젝트 2개가 있는 솔루션을 보여 주는
새 VSIX 프로젝트가 제대로 빌드되는지 확인합니다. 컴파일러 오류를 해결하려면 원래 VSIX 프로젝트와 일치하도록 참조를 추가해야 할 수 있습니다.
관리되는 Visual Studio 확장의 경우 패키지 참조를 16.x(또는 이전 버전)에서 Visual Studio 2022 대상 프로젝트 파일의 17.x 패키지 버전으로 업데이트합니다. NuGet 패키지 관리자를 사용하거나 프로젝트 파일을 직접 편집합니다.
-<PackageReference Include="Microsoft.VisualStudio.SDK" Version="16.0.206" /> +<PackageReference Include="Microsoft.VisualStudio.SDK" Version="17.0" /> -<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="16.10.32" /> +<PackageReference Include="Microsoft.VSSDK.BuildTools" Version="17.0" />
이전 코드에 표시된 버전은 데모용입니다. 코드에서 NuGet 웹 사이트제공하는 버전을 사용하세요.
대부분의 경우 패키지 ID가 변경되었습니다. Visual Studio 2022의 변경 내용 목록은 패키지/어셈블리 매핑 테이블참조하세요.
C++로 작성된 확장에는 컴파일할 수 있는 SDK가 아직 없습니다.
C++ 프로젝트의 경우 AMD64용 확장을 컴파일해야 합니다. 관리되는 확장의 경우, 프로젝트를 Any CPU 빌드에서 x64대상으로 전환하는 것이 좋습니다. 이렇게 변경하면 Visual Studio 2022에서 확장이 항상 64비트 프로세스로 로드됩니다. 모든 CPU 괜찮지만 x64 전용 네이티브 이진 파일을 참조하는 경우 경고가 발생할 수 있습니다.
네이티브 모듈에 대한 확장이 가질 수 있는 모든 종속성은 x86 이미지에서 AMD64 이미지로 업데이트해야 합니다.
source.extension.vsixmanifest 파일을 편집하여 Visual Studio 2022를 대상으로 하도록 설정하십시오.
<InstallationTarget>
태그를 설정하여 Visual Studio 2022를 나타냅니다.ProductArchitecture
요소를 설정하여 AMD64 페이로드를 나타냅니다.<InstallationTarget Id="Microsoft.VisualStudio.Community" Version="[17.0,18.0)"> <ProductArchitecture>amd64</ProductArchitecture> </InstallationTarget>
중요하다
Visual Studio 2019에서 이 파일의 디자이너는 새
ProductArchitecture
요소를 노출하지 않습니다. XML 편집기를 사용하여 변경해야 합니다. XML 편집기에 액세스하려면 솔루션 탐색기로 이동하여 열기 명령을 선택합니다.ProductArchitecture
요소는 중요합니다. Visual Studio 2022는 그것 없이는 확장을 설치하지 않습니다.요소 값 묘사 ProductArchitecture
x86
,amd64
이 VSIX에서 지원하는 플랫폼입니다. 대소문자를 구분하지 않습니다. 요소당 하나의 플랫폼과 InstallationTarget
인스턴스당 하나의 요소를 사용합니다. 17.0 미만의 제품 버전에서는 기본값이x86
생략할 수 있습니다. 제품 버전 17.0 이상에서는 이 요소가 필요하며 기본값은 없습니다. Visual Studio 2022의 경우 이 요소에 유효한 콘텐츠는amd64
.source.extension.vsixmanifest를 Visual Studio 2019를 대상으로 하는 것과 일치하도록 필요한 다른 조정을 수행합니다(있다면).
각각 다른 버전의 Visual Studio를 대상으로 하는 두 가지 버전의 확장을 게시하는 경우 매니페스트의
Identity
요소에 있는 VSIX ID가 각 확장마다 다른지 확인합니다.
이 시점에서 Visual Studio 2022 대상 확장 VSIX가 있습니다. Visual Studio 2022 대상 VSIX 프로젝트를 빌드하고 표시되는 빌드 중단을 통해 작업을. Visual Studio 2022 대상 VSIX 프로젝트에 빌드 중단이 없는 경우 축하합니다. 테스트할 준비가 완료되었습니다.
호환성이 손상되는 API 변경 처리
API 변경을 중단하려면 이전 버전의 Visual Studio에서 실행된 코드에 대한 업데이트가 필요할 수 있습니다. 코드를 업데이트하는 방법에 대한 팁은 Visual Studio 2022의 호환성이 깨지는 API 변경 사항 을 참조하세요.
코드를 조정할 때는 조건부 컴파일 사용하는 것이 좋습니다. 그러면 코드에서 Visual Studio 2022에 대한 지원을 추가하는 동안 이전 Visual Studio 버전을 계속 지원할 수 있습니다.
Visual Studio 2022 대상 확장 빌드를 가져오는 경우 테스트 진행합니다.
조건부 컴파일 기호 사용
Visual Studio 2022 및 이전 버전에 대해 동일한 소스 코드( 동일한 파일)를 사용하려는 경우 조건부 컴파일을 사용해야 할 수 있습니다. 그런 다음 호환성이 손상되는 변경에 맞게 코드를 포크할 수 있습니다. 조건부 컴파일은 C#, Visual Basic 및 C++ 언어의 기능입니다. 특정 위치에서 다양한 API를 수용하는 동안 대부분의 코드를 공유하는 데 사용할 수 있습니다.
전처리기 지시문 및 조건부 컴파일 기호 사용에 대한 자세한 내용은 C# 전처리기 지시문참조하세요.
이전 Visual Studio 버전을 대상으로 하는 프로젝트에는 조건부 컴파일 기호가 필요합니다. 그런 다음 이 기호를 사용하여 코드를 포크하여 다른 API를 사용할 수 있습니다. 프로젝트 속성 페이지에서 조건부 컴파일 기호를 설정할 수 있습니다.
조건부 컴파일 기호를 입력하는 상자를 보여 주는
모든 구성에 대한 컴파일 기호를 반드시 설정하십시오. 기본적으로 입력한 기호는 하나의 구성에만 적용될 수 있습니다.
C# 기술
다음 코드와 같이 컴파일 기호를 전처리기 지시문(#if
)으로 사용할 수 있습니다. 그런 다음 코드를 포크하여 Visual Studio 버전 간의 호환성이 손상되는 변경을 처리할 수 있습니다.
Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
uint myFlags = 0;
IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
#if Dev16
shell.LoadUILibrary(myGuid, myFlags, out uint ptrLib);
#else
shell.LoadUILibrary(myGuid, myFlags, out IntPtr ptrLib);
#endif
경우에 따라 var
사용하여 형식의 이름을 지정하지 않도록 하고 #if
지역에 대한 필요성을 방지할 수 있습니다. 앞의 코드 조각은 다음과 같이 작성할 수도 있습니다.
Guid myGuid = new Guid("{633FBA02-719B-40E7-96BF-0899767CD104}");
uint myFlags = 0;
IVsShell shell = await AsyncServiceProvider.GlobalProvider.GetServiceAsync<SVsShell, IVsShell>();
shell.LoadUILibrary(myGuid, myFlags, out var ptrLib);
#if
구문을 사용하는 경우 언어 서비스 컨텍스트의 드롭다운 목록을 사용하여 구문 강조 표시를 변경하는 방법을 확인합니다. 다른 드롭다운 목록을 사용하면 언어 서비스가 이 확장과 다른 확장의 한 대상 Visual Studio 버전에 집중하도록 할 수 있습니다.
XAML 공유 기술
XAML에는 전처리기 기호를 기반으로 콘텐츠를 사용자 지정할 수 있는 전처리기가 없습니다. Visual Studio 2022와 이전 버전 간에 콘텐츠가 다른 두 개의 XAML 페이지를 복사하고 유지 관리해야 할 수 있습니다.
경우에 따라 Visual Studio 2022 및 이전 버전에서 고유한 어셈블리에 있는 형식에 대한 참조는 여전히 하나의 XAML 파일에서 나타낼 수 있습니다. 어셈블리를 참조하는 네임스페이스를 제거합니다.
-xmlns:vsui="clr-namespace:Microsoft.VisualStudio.PlatformUI;assembly=Microsoft.VisualStudio.Shell.14.0"
-Value="{DynamicResource {x:Static vsui:TreeViewColors.SelectedItemActiveBrushKey}}"
+Value="{DynamicResource TreeViewColors.SelectedItemActiveBrushKey}"
당신의 확장을 테스트하세요
Visual Studio 2022를 대상으로 하는 확장을 테스트하려면 Visual Studio 2022가 설치되어 있어야 합니다. 이전 버전의 Visual Studio에서는 64비트 확장을 실행할 수 없습니다.
Visual Studio 2022를 사용하여 Visual Studio 2022 또는 이전 버전을 대상으로 하는지 여부에 관계없이 확장을 빌드하고 테스트할 수 있습니다. Visual Studio 2022에서 VSIX 프로젝트를 열면 Visual Studio의 실험적 인스턴스가 열립니다.
확장을 지원하려는 Visual Studio의 각 버전을 테스트하는 것이 좋습니다.
확장 기능 게시
확장에 Visual Studio 2022 대상을 추가하고 테스트했습니다. 이제 세계가 감탄할 확장 프로그램을 게시할 준비가 되었습니다.
Visual Studio Marketplace
Visual Studio Marketplace 확장을 게시하면 새 사용자가 확장을 찾고 설치할 수 있습니다. 확장이 Visual Studio 2022 전용을 대상으로 하는지 또는 이전 Visual Studio 버전을 대상으로 하는지 여부에 관계없이 Marketplace에서 지원합니다.
나중에 Marketplace에서 여러 VSIX를 하나의 Marketplace 목록에 업로드할 수 있습니다. 그런 다음 Visual Studio 2022용 VSIX와 이전 버전의 Visual Studio용 VSIX를 업로드할 수 있습니다. 사용자는 Visual Studio 확장 관리자를 사용할 때 설치한 Visual Studio 버전에 적합한 VSIX를 자동으로 가져옵니다.
사용자 지정 설치
MSI 또는 EXE 파일을 만들어 확장을 설치하고 확장의 일부를 설치하기 위해 vsixinstaller.exe
을 생성하는 경우, Visual Studio 2022의 VSIX 설치 관리자가 업데이트되었다는 것을 알아 두십시오. 개발자는 Visual Studio 2022와 함께 제공되는 VSIX 설치 관리자 버전을 사용하여 해당 버전의 Visual Studio에 확장을 설치해야 합니다.
Visual Studio 2022의 VSIX 설치 관리자는 동일한 컴퓨터에 Visual Studio 2022와 함께 있는 이전 버전의 Visual Studio를 대상으로 하는 적용 가능한 확장도 설치합니다.
네트워크 공유
LAN 또는 다른 방법을 통해 확장을 공유할 수 있습니다. Visual Studio 2022 및 이전 버전을 대상으로 하는 경우 여러 VSIX를 개별적으로 공유해야 합니다. 사용자가 설치한 Visual Studio 버전에 따라 설치할 VSIX를 알 수 있도록 파일 이름(또는 고유한 폴더에 배치)을 제공합니다.
종속성
VSIX가 <dependency>
요소를 통해 다른 VSIX를 종속성으로 지정하는 경우 참조된 각 VSIX는 VSIX와 동일한 대상 및 제품 아키텍처에 설치되어야 합니다. 종속 VSIX가 Visual Studio의 대상 설치를 지원하지 않으면 VSIX가 실패합니다.
종속 VSIX가 사용자보다 더 많은 대상과 아키텍처를 지원하는 것은 괜찮지만, 더 적게 지원하는 것은 그렇지 않습니다. 이 제한은 종속성이 있는 VSIX의 배포 및 배포 접근 방식이 해당 종속성의 배포 및 배포 방식을 미러링해야 임을 의미합니다.
Q & A
Q: 확장은 데이터(예: 템플릿)만 제공하기 때문에 상호 운용성 변경이 필요하지 않습니다. Visual Studio 2022도 포함하는 단일 확장을 만들 수 있나요?
: 예! 이에 대한 자세한 내용은 코드 실행하지 않고 확장을 참조하세요.
Q: NuGet 종속성이 이전 상호 운용성 어셈블리를 가져와 클래스 간 충돌을 초래하고 있는 경우 제가 뭘 해야 하나요?
: 중복 어셈블리를 방지하려면 .csproj 파일에 다음 줄을 추가합니다.
<PackageReference Include="<Name of offending assembly>" ExcludeAssets="compile" PrivateAssets="all" />
이 코드는 패키지 참조가 다른 종속성에서 이전 버전의 어셈블리를 가져오지 못하게 합니다.
Q: 원본 파일을 공유 프로젝트로 전환한 후 Visual Studio에서 내 명령 및 바로 가기 키의 작동이 중지되었습니다. 제가 뭘 해야 하나요?
: 이미지 최적화 프로그램 샘플의 2.4단계는 VSCT 파일을 연결된 항목으로 추가하여 당신의 VSCT 파일에 컴파일하는 방법을 보여 줍니다.
관련 콘텐츠
각 단계에 대한 프로젝트 및 코드 변경 내용에 대한 링크와 함께 ImageOptimizer 단계별 예제를 따릅니다.