Xamarin Android - Cómo reconstruir el recurso.diseñador.cs


En Xamarin Android - Cómo regenerar el Recurso.diseñador.cs

Traté de marcar toda la acción de compilación del archivo XML como "AndroidResource" y aún así el Recurso.diseñador.cs no se actualizará con nuevos valores.

¿Qué desencadenador de eventos genera este archivo?

Author: AlexC, 2013-08-21

14 answers

He encontrado que Xamarin studio dejará de regenerar el archivo de Recursos debido a cambios en el archivo de proyecto. El grupo de propiedades de compilación superior debe contener entradas para

<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>

Y por alguna razón estos simplemente desaparecen. Si abres el csproj del proyecto Android con un editor de texto y añades estas entradas, parece que funciona. Tomé estas entradas de un nuevo proyecto que creé en Xamarin Studio que estaba funcionando, que es posiblemente la forma más fácil de hacer esto.

 10
Author: AlexC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-07-17 08:30:22

Tan recientemente como Xamarin Studio 5.6 (build 273) con Xamarin.Android 4.18.0, si has eliminado manualmente el archivo Resource.designer.cs del proyecto, rebuilding regenerará Resource.designer.cs, pero no lo volverá a agregar al proyecto. Así que después de intentar reconstruir una vez, el archivo estará presente en el sistema de archivos, pero no en el proyecto. Para solucionar esto, agregue manualmente el archivo recién generado a la carpeta Recursos del proyecto.

 48
Author: Brendan Zagaeski,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-16 15:46:40

1.Haga clic en Recurso.diseñador.archivo cs de su proyecto.

2.Haga clic en CTRL + A (Seleccionar Todo)

3.Haga clic en Del (Eliminar todo)

4.Limpie y reconstruya su proyecto (si recibe el mensaje para el recurso modificado.diseñador.cs haga clic en el botón" Sí a todos").

Ahora está obteniendo error para los primeros edificios. pero tu Recurso.diseñador.el archivo cs se regenera.ahora puede construir en segundo lugar. sus obras.

 11
Author: Ali Yousefie,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-06-25 08:53:37

Resolví este problema eliminando el carácter "-" del nombre de las imágenes en la carpeta de elementos de diseño.

 4
Author: chlara,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-07-11 05:09:59

Parece que esto puede suceder por varias razones. Un paso que puede ayudar a revelar el problema es aumentar la verbosidad de salida de compilación en Visual studio: Herramientas - > Opciones -> Compilar y Ejecutar - > cambiar la "verbosidad de salida de compilación del proyecto de MSBuild" a "Diagnóstico".

En mi caso, uno de mis controles no tenía un Id, por lo que condujo al Recurso.Diseñador.cs no se actualiza (pero no lo hace en silencio). introduzca la descripción de la imagen aquí

El archivo comenzó a actualizarse de nuevo una vez que agregué un Id.

NOTA: Es probable que desee cambiar el nivel de detalle de salida de compilación a la normalidad después de encontrar su problema.

 3
Author: DevOragz,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-04 10:10:08

Es más fácil de lo que parece...

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

Puede cambiar el nombre de su proyecto utilizando find/replace, pero el archivo de recursos utilizará lo que esté configurado para 'default namespace' en la Configuración principal y continuará volviendo a este nombre incluso si edita manualmente el Recurso.diseñador.archivo CS dentro o fuera de Xamarin.

 1
Author: The Kirk,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-12-12 14:41:56

El Recurso.diseñador.la carpeta cs se actualizaría como mencionó @Brendan Zagaeski.

Sin embargo, como parece que eso no resolvió su problema, parece que Xamarin no reconoció ninguno de los cambios que realizó. Al menos esto es lo que me pasó a mí.

Terminé resolviéndolo cambiando el nombre de la carpeta "Layout" generada a "layout" (hice lo mismo con el drawable y los valores). Después de eso, simplemente construyendo el proyecto de nuevo el Recurso.Diseñador actualizado con éxito.

Espero que esto ayude a alguien.

 1
Author: YKa,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-10-23 04:48:31

Asegúrese de que el nombre de su paquete raíz es correcto.

 1
Author: ComeIn,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-09-07 01:50:03

Método 1: Eliminar el archivo del proyecto y también eliminar archivos bin y obj y luego construir el proyecto debería funcionar al 100% como uso para hacer eso si me enfrento al mismo problema si eso no funciona siempre hay otra opción

Método 2: cerrar la aplicación es decir, visual studio, map to c - > usuarios - > - > AppData (Archivo oculto) - > eliminar archivo xamarin de local y roaming

 1
Author: ROHIT MANDALAPU,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-21 08:13:03

Me pasó un par de veces, y cada vez el problema no venía de la generación del archivo en sí, sino de un recurso Android malformado. Así que si eso sucede después de fusionar algo de su repositorio, verifique dos veces sus recursos de Android (colores, cadenas, etc.), para cualquier código XML malformado.

 1
Author: Miiite,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-04-26 15:55:34

Para que la solución rebuild project funcione, debe editar el archivo que la genera y luego reconstruir el proyecto.

 0
Author: Marco Castanheira,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-14 23:17:38

Tuve exactamente el mismo problema y ninguna de las respuestas aquí funcionó. Finalmente pensé que tenía algunas referencias de imágenes en algunos diseños que aún no existían. Parece que si tiene una ruta de origen rota, Recurso.Diseñador.cs detiene la actualización sin ningún error. Finalmente, después de eliminar las imágenes de referencia, se resolvió el problema y el Recurso.Diseñador.cs se actualizó.

Espero que esto ayude a alguien!

 0
Author: sguler,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-01-30 02:58:32

Para las personas que todavía tienen este problema, cuando mira la lista de errores, algún error podría decir algo como "no se encontró ningún recurso que coincida con el 'toRightOf @id/(nombre del recurso)' dado (o cualquier otra posición en el diseño relativo)... debe resaltar todo el código del recurso (en el archivo axml) que tiene el id, cortar, guardar todo, luego pegarlo y reconstruirlo... luego tu Recurso.Diseñador.cs regenerar! espero que ayude.

 0
Author: Osman Guerrero,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-03-08 16:00:03

La clase generada Resources.designer.cs se actualizará si reconstruye su proyecto. Usted puede encontrar esta información en: http://docs.xamarin.com/guides/android/getting_started/hello%2C_world

 -3
Author: Krumelur,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-08-21 19:34:50