Подтвердить что ты не робот

Xamarin Android - Как перестроить Resource.designer.cs

В Xamarin Android - Как восстановить Resource.designer.cs

Я попытался отметить все XML файлы Build Action как "AndroidResource", но Resource.designer.cs не будет обновляться новыми значениями.

Какое событие инициирует создание этого файла?

4b9b3361

Ответ 1

Я обнаружил, что студия Xamarin перестанет восстанавливать файл ресурсов из-за изменений в файле проекта. Верхняя сборка PropertyGroup должна содержать записи для

<RootNamespace>**Your_Root_Namespace**</RootNamespace>
<MonoAndroidResourcePrefix>Resources</MonoAndroidResourcePrefix>
<MonoAndroidAssetsPrefix>Assets</MonoAndroidAssetsPrefix>
<AndroidUseLatestPlatformSdk>True</AndroidUseLatestPlatformSdk>
<AndroidApplication>True</AndroidApplication>
<AndroidResgenFile>Resources\Resource.designer.cs</AndroidResgenFile>
<AndroidResgenClass>Resource</AndroidResgenClass>
<TargetFrameworkVersion>*your value here*</TargetFrameworkVersion>

и почему-то они просто исчезают. Если вы откроете csproj проекта Android с помощью текстового редактора и добавьте эти записи, он, похоже, сработает. Я захватил эти записи из нового нового проекта, который я создал в Xamarin Studio, который работал, что, возможно, самый простой способ сделать это.

Ответ 2

Как только Xamarin Studio 5.6 (сборка 273) с Xamarin.Android 4.18.0, если вы вручную удалили файл Resource.designer.cs из проекта, восстановление будет регенерировать Resource.designer.cs, но не добавит его обратно в проект. Поэтому после попытки восстановить один раз файл будет присутствовать в файловой системе, но не в проекте. Чтобы исправить это, вручную добавьте вновь сгенерированный файл в папку "Ресурсы" в проекте.

Ответ 3

1.Щелкните файл Resource.designer.cs из вашего проекта.

2.Щелкните CTRL + A (Выбрать все)

3.Click Del (Удалить все)

4. Очистите и перестройте свой проект (если вы получите сообщение для измененного параметра Resource.designer.cs, нажмите кнопку "Да для всех" ).

теперь вы получаете ошибку для первых зданий. но ваш файл Resource.designer.cs будет регенерирован. Теперь вы можете выполнить вторую сборку. его работы.

Ответ 4

Я решил эту проблему, удалив символ "-" из имени изображения в папке Drawable.

Ответ 5

Казалось бы, это может произойти по ряду причин. Одним из шагов, который может помочь выявить проблему, является увеличение объема вывода сборки в Visual studio: Инструменты → Параметры → Сборка и запуск → изменение "многословности сборки проекта MSBuild" на "Диагностика".

В моем случае у одного из моих элементов управления не было идентификатора, поэтому он приводил к тому, что Resource.Designer.cs не обновлялся (но не смог сделать это молча). введите описание изображения здесь

Файл снова начал обновляться после добавления идентификатора.

ПРИМЕЧАНИЕ. Вероятно, вы захотите снова изменить вербальность вывода сборки, когда вы найдете свою проблему.

Ответ 6

Это проще, чем кажется...

http://docs.xamarin.com/recipes/android/general/projects/specify_default_namespace/

Вы можете переименовать свой проект, используя find/replace, но файл ресурсов будет использовать все, что задано для "пространства имен по умолчанию" в основных настройках, и будет продолжать возвращаться к этому имени, даже если вы вручную отредактируете Resource.designer. cs файл в или из Xamarin.

Ответ 7

Папка Resource.designer.cs будет обновляться, как упоминал @Brendan Zagaeski.

Однако, поскольку кажется, что это не решило вашу проблему, похоже, что Xamarin не признал никаких изменений, которые вы внесли. По крайней мере, это то, что случилось со мной.

В итоге я решил его переименовать сгенерированную папку "Макет" в "макет" (я сделал то же самое для drawable и значений). После этого, просто создав проект, Resource.Designer успешно обновится.

Надеюсь, это поможет кому-то.

Ответ 8

Убедитесь, что имя корневого пакета верное.

Ответ 9

method1: Удалите файл из проекта, а также удалите файлы bin и obj, а затем создайте проект, и он будет работать на 100%, поскольку я использую это, если я столкнусь с одной и той же проблемой, если это не работает, всегда есть другая опция

method2: закрыть приложение i.e, визуальную студию, нанести c- > users- > → AppData (Hidden File) → удалить файл xamarin из локального и роуминг

Ответ 10

Это случилось со мной несколько раз, и каждый раз проблема возникала не из поколения самого файла, а из искаженного ресурса Android. Поэтому, если это произойдет после того, как вы слили что-то из своего репозитория, дважды проверьте свои ресурсы android (цвета, строки и т.д.) Для любого искаженного XML-кода.

Ответ 11

Для решения проекта перестроения вы должны отредактировать файл, который его генерирует, а затем перестроить проект.

Ответ 12

У меня была такая же проблема, и ни один из ответов здесь не работал. Наконец, я понял, что у меня есть некоторые ссылки на изображения в некоторых макетах, которые еще не существовали. Кажется, что если у вас сломанный исходный путь, Resource.Designer.cs прекращает обновление без каких-либо ошибок. Наконец, после удаления эталонных изображений проблема была решена, и Resource.Designer.cs был обновлен.

Надеюсь, это поможет кому-то!

Ответ 13

Для людей, которые все еще имеют эту проблему, когда вы смотрите на список ошибок, какая-то ошибка может сказать что-то вроде: "не найден ресурс, который соответствует указанному toRightOf @id/(имя ресурса)" (или любая другая позиция в относительной компоновке)... вы должны выделить весь код ресурса (в файле axml), который имеет идентификатор, вырезать, сохранить все, затем вставить его и перестроить... тогда ваш Resource.Designer.cs будет обновлен! надеюсь, это поможет,

Ответ 14

Я столкнулся с той же проблемой в Visual Studio. Файл конструктора ресурсов создается только при изменении ресурса, который я применил, выполнив следующие шаги для создания необходимого файла resource.designer.cs. * Добавлен фиктивный образ в ресурсах. * Очищен проект * Перестроен проект. Новый resource.designer. сгенерировано.