Windows 8.1 스토어 앱: 리소스가 장치에 필요한지 여부와 관계없이 장치에 설치되었는지 확인

 

Windows 및 Windows Phone에 적용

앱 패키지에 다양한 리소스를 포함하면 앱이 설치될 때 필요한 리소스에 관계없이 모든 장치에서 사용자 앱과 함께 해당 리소스가 모두 설치됩니다. 예를 들어, 장치의 사용자 언어 기본 설정과 일치하는 언어뿐 아니라 다중 언어로 된 사용자 인터페이스 문자열을 사용자 앱과 함께 설치할 수 있습니다. 이 전략을 사용하면 사용자가 인터넷에 연결하지 않고 언어 기본 설정 또는 기타 설정을 변경할 수 있으며 장치가 새 설정에 가장 적합한 리소스로 전환될 수 있습니다.

앱 패키지에 리소스를 포함시키면 앱의 크기가 커집니다. 앱의 크기를 줄이려면 사용자가 나중에 다운로드할 수 있는 리소스 패키지의 리소스를 포함합니다. 대부분의 응용 프로그램의 경우 리소스 패키지를 사용하면 사용자가 사용 공간을 최소화하여 최상의 효과를 얻을 수 있지만 리소스 패키지는 다국어 사전, 번역 도구 또는 즉시 언어를 변경하는 기타 응용 프로그램 등 일부 응용 프로그램에는 적합하지 않을 수 있습니다. 이러한 앱은 앱 패키지에 다양한 리소스를 포함할 수 있습니다.

구성 파일을 추가하여 앱 패키지에 리소스를 포함할 수 있습니다. 프로젝트 파일을 직접 편집하는 것이 편한 경우에는 이 방법으로 해당 작업을 수행할 수도 있습니다.

옵션 1: 솔루션에 구성 파일 추가

  1. 솔루션 탐색기에서 앱용 프로젝트를 마우스 오른쪽 단추로 클릭하고 추가를 가리킨 다음 새 항목을 클릭합니다.

  2. 새 항목 추가 대화 상자에서 XML 파일 템플릿을 클릭하고 파일의 이름을 priconfig.packaging.xml로 지정한 다음 추가를 클릭합니다.

  3. 파일의 내용을 다음 XML로 바꿉니다.

    <packaging>
        <autoResourcePackage qualifier="Language" />
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    
  4. 리소스 팩에 포함하지 않을 리소스 범주를 나타내는 XML 줄을 제거합니다. 다음 예제에서는 Language 한정자가 제거된 후의 priconfig.packaging.xml 파일 내용을 보여 줍니다.

    <packaging>
        <autoResourcePackage qualifier="Scale" />
        <autoResourcePackage qualifier="DXFeatureLevel" />
    </packaging>
    

    이 예제에서는 앱 번들의 앱 패키지에 모든 언어 리소스가 포함되며 장치의 사용자 언어 기본 설정에 관계없이 사용자가 해당 리소스를 다운로드합니다.

  5. priconfig.packaging.xml 파일을 저장한 후 닫습니다.

  6. Language 한정자를 제거하는 경우 priconfig.default.xml이라는 프로젝트에 다른 XML 파일을 추가하고 그 파일의 내용을 다음 XML로 바꿉니다.

    <default>
      <qualifier name="Language" value=Value />
    </default>
    

    참고

    Scale 또는 DXFeatureLevel 한정자를 제거하고 Language한정자를 제거하지 않는 경우 프로젝트에 priconfig.default.xml 파일을 추가할 필요가 없습니다.

    자리 표시자를 앱 패키지에 포함시킬 각 언어 리소스의 언어 코드로 바꿉니다. 다음 예제에서는 언어 한정자의 자리 표시자를 언어 코드의 목록으로 바꾼 후에 XML이 어떻게 표시될 수 있는지를 보여 줍니다.

    <default>
      <qualifier name="Language" value=”en;ja;de” />
      </default>
    
  7. 솔루션 탐색기에서 priconfig.packaging.xml 파일을 클릭합니다.

  8. 속성 창에서 프로젝트 언어에 따라 다음 속성의 값을 변경합니다.

    • C# 및 VB 프로젝트의 경우 빌드 작업 속성을 없음으로 설정합니다.

    • JavaScript 프로젝트의 경우 패키지 작업 속성을 없음으로 설정합니다.

    • C++ 프로젝트의 경우콘텐츠 속성을 False로 설정합니다.

  9. 프로젝트에 priconfig.default.xml 파일을 추가한 경우 프로젝트의 언어에 따라 해당 파일의 빌드 작업 속성은 없음으로, 패키지 작업 속성은 없음으로, 콘텐츠 속성은 False로 설정합니다.

  10. 빌드 메뉴에서 솔루션 빌드를 클릭한 다음 앱 패키지를 만듭니다.

    앱 패키지 만들기 마법사의 패키지 선택 및 구성 페이지에서 패키지용 앱 번들을 생성하도록 선택합니다. Windows 8.1 앱 패키지 만들기를 참조하세요.

  11. ProjectFolder**\obj\**ReleaseConfiguration 폴더에서 split.priconfig.xml 파일을 메모장에서 엽니다.

  12. 제거한 한정자가 리소스 한정자 목록에 나타나지 않는지 확인합니다.

priconfig.packaging.xml 파일의 이름 바꾸기

구성 파일에는 원하는 이름을 지정할 수 있습니다. 그러나 이름을 priconfig.packaging xml이 아닌 다른 이름으로 지정하는 경우 프로젝트 파일에 빌드 속성을 추가해야 합니다.

  1. 솔루션 탐색기에서 앱용 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 프로젝트 언로드를 클릭합니다.

  2. 프로젝트를 마우스 오른쪽 단추로 다시 클릭한 다음 AppName**.csproj편집** 또는 AppName**.vbproj편집**을 클릭합니다.

  3. 프로젝트 파일에서 첫 번째 <PropertyGroup> 요소의 여는 태그와 닫는 태그 사이에 다음 XML 줄을 추가합니다.

    <AppxPriConfigXmlPackagingSnippetPath>FilePath</AppxPriConfigXmlPackagingSnippetPath>
    

    중요

    FilePath를 파일 이름을 포함하는 구성 파일 경로로 바꿉니다.

  4. 프로젝트 파일을 저장한 후 닫습니다.

  5. 솔루션 탐색기에서 프로젝트를 마우스 오른쪽 단추로 클릭한 다음 프로젝트 다시 로드를 클릭합니다.

  6. 솔루션을 빌드하고 패키지를 만듭니다.

참고

프로젝트에 priconfig.default.xml 파일을 추가한 경우 그 파일의 이름도 바꿀 수 있습니다. 그 파일의 이름을 바꾸는 방법에 대한 자세한 내용은 priconfig.default.xml 파일의 이름 바꾸기를 참조하세요.

옵션 2: 프로젝트 파일 수정(고급)

  1. 앱의 프로젝트 파일을 메모장으로 엽니다.

  2. 프로젝트 파일에서 첫 번째 <PropertyGroup> 요소의 여는 태그와 닫는 태그 사이에 다음 XML 줄을 추가합니다.

    <AppxBundleAutoResourcePackageQualifiers>Language|Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    
  3. 이 XML 줄에서 리소스 팩에 포함하지 않을 리소스 범주를 제거합니다. 다음 예제에서는 Language 한정자가 제거된 후의 XML 줄을 보여 줍니다.

    <AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
    

    이 예제에서는 앱 번들의 앱 패키지에 모든 언어 리소스가 포함되며 장치의 사용자 언어 기본 설정에 관계없이 사용자가 해당 리소스를 다운로드합니다.

  4. Language 한정자를 제거하는 경우 첫 번째 <PropertyGroup> 요소의 여는 태그와 닫는 태그 사이에 다음 XML 줄을 추가합니다.

    <AppxDefaultResourceQualifiers>Language=Value</AppxDefaultResourceQualifiers>
    

    참고

    Scale 또는 DXFeatureLevel 한정자를 제거하고 Language 한정자를 제거하지 않는 경우 이 줄을 추가할 필요가 없습니다.

    자리 표시자를 앱 패키지에 포함시킬 각 언어 리소스의 언어 코드로 바꿉니다. 다음 예제에서는 언어 한정자의 자리 표시자를 언어 코드의 목록으로 바꾼 후에 XML이 어떻게 표시될 수 있는지를 보여 줍니다.

    <AppxDefaultResourceQualifiers>Language=en;ja;de</AppxDefaultResourceQualifiers>
    
  5. 프로젝트 파일을 저장한 후 닫습니다. 그런 다음 Visual Studio에서 파일을 다시 로드합니다.

  6. 솔루션을 빌드한 다음 앱 패키지를 만듭니다.

    앱 패키지 만들기 마법사의 패키지 선택 및 구성 페이지에서 패키지용 앱 번들을 생성하도록 선택합니다. Windows 8.1 앱 패키지 만들기를 참조하세요.

  7. ProjectFolder**\obj\**ReleaseConfiguration 폴더에서 split.priconfig.xml 파일을 메모장에서 엽니다.

  8. 제거한 한정자가 리소스 한정자 목록에 나타나지 않는지 확인합니다.

참고 항목

앱 번들 배포
앱 번들
앱 번들 생성 여부 결정
리소스 패키지
리소스 관리 시스템
앱 리소스 정의(VB/C++ 및 XAML을 사용하는 앱)
앱 리소스 정의(JavaScript 및 HTML을 사용하는 앱)