2015-12-02 30 views
6

Questo è dove il problema è - linee rosse sotto "String".errore form xamarin Droid.Resource non contiene una definizione per stringa

Sto sviluppando un'applicazione per moduli xamarin e sto utilizzando il plug-in di archiviazione PCL. Penso che questo sia in qualche modo la causa del problema e non so come risolverlo. Il problema si verifica nella mia soluzione Android.

public static void UpdateIdValues() 
{ 
    global::PCLStorage.Resource.String.ApplicationName = global::XamarinClients.Droid.Resource.String.ApplicationName; 
    global::PCLStorage.Resource.String.Hello = global::XamarinClients.Droid.Resource.String.Hello; 
} 

ottengo questo errore:

errore 6 'XamarinClients.Droid.Resource' non contiene una definizione per pathtomyapplication 'stringa' \ Resources \ Resource.Designer.cs

Qualcuno ha avuto questo problema?

+0

Questo è molto probabilmente un errore durante la generazione del file di risorse. Stai usando Xamarin Studio o Visual Studio? Ho avuto grossi grattacapi con Xamarin Studio per Mac –

+0

Sto usando Visual Studio. Ho commentato le righe, ma id mi piacerebbe davvero sapere qual è stata la causa dell'errore .. – OneBigQuestion

risposta

11

Se si consulta la documentazione di Android per la localizzazione, si menziona la memorizzazione della stringa di risorse dell'applicazione in un file xml. Apparentemente ci sono alcuni valori hardcoded nell'androide Xamarin.Forms Resource.Designer.cs. per risolvere il problema nella cartella risorse sotto i valori aggiungere un file XML denominato String.xml e in essa mettere:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <string name="ApplicationName">ApplicationName</string> 
    <string name="Hello">Hello</string> 
</resources> 
+1

Inoltre, imposta 'Build Action' di' strings.xml' su 'AndroidResource' –

0

Spesso, questo può essere risolto con la semplice pulizia del progetto e quindi scegliere Rigenera.