Я создаю приложение UWP и получаю ошибку сборки, когда количество ресурсов превышает 200 с Visual Studio Community 2017 версии 15.9.4.Если я уменьшу количество ресурсов ниже 200, то все будет просто отлично.Это ограничение для версии сообщества?Я намереваюсь отправить приложение в Microsoft Store, и если я не ограничу рынки, приложение не сможет работать, потому что оно не поддерживает все необходимые языковые коды, которые включены в файлы ресурсов.
Я пытался собратьпроект с нуля ... шаги для воспроизведения подробно ниже.Я сократил список ресурсов, но теперь столкнулся с необходимостью запретить использование моего приложения на некоторых рынках, поскольку, по моему мнению, Microsoft Store не примет мое приложение для этого рынка, если оно не поддерживает язык для этого рынка.
- Запустите Microsoft Visual Studio Community 2017 версии 15.9.4 с пакетом NuGet Microsoft.NETCore.UniversalWindowsPlatform v6.2.3 (и без других пакетов NuGet), если это имеет какое-либо значение.
- Нажмите и выберите
File=>New=>Project
изГлавное меню. - Выберите
Windows Universal=>Blank App
(Универсальная Windows), затем нажмите OK. - Выберите Целевую версию 17763 и Минимальную версию 16299, затем нажмите OK (но такая же ошибка возникает с другими настройками версии).
- Выберите
Project=>Store=>Create App Packages
. - Выберите «Я хочу создать пакеты для боковой загрузки» (но такая же ошибка возникает с приложением Store), затем нажмите «Далее».
- Нажмите «Создать»принять значения по умолчанию.
- Нажмите OK, чтобы закрыть всплывающее окно, указывающее, что пакет был создан.
- Нажмите Построить решение или нажмите F6.
- Щелкните правой кнопкой мыши проект приложения и выберите «Новая папка», затем переименуйте его в «Локализация».
- Щелкните правой кнопкой мыши папку «Локализация» и выберите «Новая папка».
- Назовите папку, используя один из поддерживаемых языков.Коды, перечисленные в https://docs.microsoft.com/en-us/windows/uwp/publish/supported-languages.
- Щелкните правой кнопкой мыши новую папку и выберите Добавить => Новый элемент.
- Выберите XAML => Файл ресурсов (.resw), затем нажмите Добавить.
- Введите любое значение, например String1, для имени String1 и сохраните его.
- Создайте дополнительные подпапки для всех поддерживаемых кодов языков и скопируйте в эти папки один и тот же файл ресурсов.
- Добавитьэти файлы ресурсов для проекта.
- Попробуйте создать проект.
Результат:
Error Validation error. error C00CE014: App manifest validation error: The app manifest must be valid as per schema: Line 223, Column 6, Reason: Element '{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Resource' is unexpected according to content model of parent element '{http://schemas.microsoft.com/appx/manifest/foundation/windows10}Resources'. App1 C:\Users\Steve\Documents\Visual Studio 2017\Projects\UWP\App1\App1\bin\x86\Debug\AppxManifest.xml
Примечание: Строка 223 - это строка, в которой находится 200-я строка ресурса: <Resource Language="LT" />
.Однако ошибка исчезнет, если файлы Resources.resw будут удалены из проекта, пока в проекте не будет 202 или менее ресурсов локализации.Эта ошибка не позволяет моим приложениям UWP быть доступными для всех поддерживаемых рынков.