Windows 8.1 市集應用程式:確保不論裝置是否需要,一律在裝置上安裝資源
只要在應用程式套件內包含各種資源,就能確保在安裝應用程式時,這些資源都會隨著應用程式安裝在每部裝置上,而不必顧慮真正需要的是哪些資源。例如,當使用者安裝應用程式時,您可以確保多國語言的使用者介面字串會隨著應用程式一併安裝,而非只安裝符合該裝置之使用者語言喜好設定的語言。如果您使用這個策略,使用者就可以變更語言喜好設定或其他設定而不必連接至網際網路,而且其裝置也可以切換成適用於新設定的最佳資源。
在應用程式套件中加入資源,也會增加應用程式的大小。如果您要減少應用程式的大小,請於資源套件中包含使用者可於之後下載的資源。對於大部分應用程式而言,資源套件透過最小的所需空間提供最佳的經驗,但是資源套件不一定適合某些應用程式,例如多語系字典、翻譯工具,或是其他必須立即轉換語言的應用程式。這些應用程式包含應用程式套件中的各種資源。
您也可以加入組態檔,將資源納入應用程式套件中。或者,如果您不介意,也可以直接編輯專案檔來完成這項工作。
選項 1:將組態檔加入至方案
在 [方案總管] 中,以滑鼠右鍵按一下應用程式的專案,然後指向 [加入],再按一下 [新項目]。
按一下 [加入新項目] 對話方塊中的 [XML 檔案] 範本,然後將檔案命名為 priconfig.packaging.xml,再按一下 [加入]。
以下列 XML 取代檔案的內容。
<packaging> <autoResourcePackage qualifier="Language" /> <autoResourcePackage qualifier="Scale" /> <autoResourcePackage qualifier="DXFeatureLevel" /> </packaging>
移除表示資源分類,且不希望包含在資源套件中的 XML 內容。下列範例顯示移除 Language 限定詞之後的 priconfig.packaging.xml 檔案內容:
<packaging> <autoResourcePackage qualifier="Scale" /> <autoResourcePackage qualifier="DXFeatureLevel" /> </packaging>
在此範例中,所有語言資源都會包含在應用程式套件組合的應用程式套件內,因此無論裝置的使用者語言喜好設定為何,使用者都將下載這些資源。
儲存後關閉 priconfig.packaging.xml 檔案。
如果您移除 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>
在 [方案總管] 中,按一下 [priconfig.packaging.xml] 檔案。
在 [屬性] 視窗中,視專案語言變更下列屬性的值。
如果是 C# 與 VB 專案,請將 [建置動作] 屬性設定為 [無]。
如果是 JavaScript 專案,請將 [封裝動作] 屬性設定為 [無]。
如果是 C++ 專案,請將 [內容] 屬性設定為 [False]。
如果您已將 priconfig.default.xml 檔案加入專案中,請根據專案的語言將該檔案的 [建置動作] 屬性設定為 [無]、[封裝動作] 屬性設定為 [無],或 [內容] 屬性設定為 [False]。
按一下 [建置] 功能表上的 [建置方案],然後建立應用程式套件。
在 [建立應用程式套件精靈] 的 [選取和設定套件] 頁面中,選擇為套件產生應用程式套件組合。請參閱建立 Windows 8.1 應用程式套件。
在 ProjectFolder[\obj\]ReleaseConfiguration 資料夾中,開啟 [記事本] 中的 split.priconfig.xml 檔案。
確定您移除的限定詞並未出現在資源限定詞清單中。
重新命名 priconfig.packaging.xml 檔案
您可以隨意命名組態檔。請注意,如果您不是將檔案命名為 priconfig.packaging xml,則必須將建置屬性加入專案檔。
在 [方案總管] 中應用程式的專案上按一下滑鼠右鍵,然後按一下 [卸載專案]。
再以滑鼠右鍵按一下專案,然後按一下 [編輯] AppName[.csproj] 或 [編輯] AppName[.vbproj]。
在專案檔中第一個 <PropertyGroup> 項目的開頭和結尾標記之間加入下列 XML 內容。
<AppxPriConfigXmlPackagingSnippetPath>FilePath</AppxPriConfigXmlPackagingSnippetPath>
重要
以包括檔案名稱在內的組態檔路徑取代 FilePath。
儲存並關閉專案檔。
在 [方案總管] 中,以滑鼠右鍵按一下專案,然後按一下 [重新載入專案]。
建置方案,然後建立套件。
注意事項 |
---|
如果您已將 priconfig.default.xml 檔案加入專案中,也可以重新命名該檔案。如需如何重新命名該檔案的詳細資訊,請參閱重新命名 priconfig.default.xml 檔案。 |
選項 2:修改專案檔 (進階)
在 [記事本] 中開啟應用程式的專案檔。
在專案檔中第一個 <PropertyGroup> 項目的開頭和結尾標記之間加入下列 XML 內容。
<AppxBundleAutoResourcePackageQualifiers>Language|Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
移除這行 XML 內容中,不希望包含在資源套件中的資源分類。下列範例顯示移除 Language 限定詞之後的 XML 內容。
<AppxBundleAutoResourcePackageQualifiers>Scale|DXFeatureLevel</AppxBundleAutoResourcePackageQualifiers>
在此範例中,所有語言資源都會包含在應用程式套件組合的應用程式套件內,因此無論裝置的使用者語言喜好設定為何,使用者都將下載這些資源。
如果您移除 Language 辨識符號,請在第一個 <PropertyGroup> 項目的開頭和結尾標記之間加入下列 XML 內容。
<AppxDefaultResourceQualifiers>Language=Value</AppxDefaultResourceQualifiers>
注意事項 如果您移除 Scale 或 DXFeatureLevel 辨識符號,但未移除 Language 辨識符號,則不需要加入此內容。
請以您想要包含在應用程式套件中的每種語言資源的語言代碼,取代值預留位置。下列範例是語言代碼清單取代語言辨識符號的值預留位置後,所顯示的 XML 內容。
<AppxDefaultResourceQualifiers>Language=en;ja;de</AppxDefaultResourceQualifiers>
儲存並關閉專案檔。然後,在 Visual Studio 中重新載入檔案。
建置方案,然後建立應用程式套件。
在 [建立應用程式套件精靈] 的 [選取和設定套件] 頁面中,選擇為套件產生應用程式套件組合。請參閱建立 Windows 8.1 應用程式套件。
在 ProjectFolder[\obj\]ReleaseConfiguration 資料夾中,開啟 [記事本] 中的 split.priconfig.xml 檔案。
確定您移除的限定詞並未出現在資源限定詞清單中。
請參閱
應用程式套件組合部署
應用程式套件組合
決定是否產生應用程式套件組合
資源套件
資源管理系統
定義應用程式資源 (使用 C#/VB/C++ 和 XAML 的應用程式)
定義應用程式資源 (使用 JavaScript 和 HTML 的應用程式)