web-dev-qa-db-de.com

Xamarin Android - Resource.designer.cs neu erstellen

In Xamarin Android - So regenerieren Sie den Resource.designer.cs

Ich habe versucht, die gesamte Build-Aktion der XML-Datei als "AndroidResource" zu kennzeichnen, und trotzdem wird Resource.designer.cs nicht mit neuen Werten aktualisiert.

Welches Ereignis löst diese Datei aus?

39

Ich habe festgestellt, dass Xamarin Studio die Ressourcendatei aufgrund von Änderungen in der Projektdatei nicht neu erstellt. Die oberste Build-PropertyGroup sollte Einträge für enthalten

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

und aus irgendeinem Grund verschwinden diese einfach. Wenn Sie das csproj des Android-Projekts mit einem Texteditor öffnen und diese Einträge hinzufügen, scheint es zu funktionieren. Ich habe diese Einträge aus einem neuen, neuen Projekt übernommen, das ich in Xamarin Studio erstellt habe und das funktioniert. Dies ist möglicherweise der einfachste Weg, dies zu tun.

12
AlexC

Wenn Sie die Datei Resource.designer.cs manuell aus dem Projekt gelöscht haben, wird Xamarin Studio 5.6 (build 273) mit Xamarin.Android 4.18.0 neu erstellt, wird Resource.designer.cs neu erstellt, aber not fügt sie dem Projekt wieder hinzu. Nach einem einmaligen Wiederherstellungsversuch ist die Datei also im Dateisystem vorhanden, nicht jedoch im Projekt. Um dies zu beheben, fügen Sie die neu generierte Datei manuell im Ordner Resources des Projekts hinzu.

51

1.Klicken Sie in Ihrem Projekt auf die Datei Resource.designer.cs.

2.Klicken Sie auf STRG + A (Alles auswählen)

3.Klicken Sie auf Löschen (Alles löschen)

4.Reinigen Sie Ihr Projekt und erstellen Sie es neu (wenn Sie eine Nachricht für das geänderte Resource.designer.cs erhalten, klicken Sie auf die Schaltfläche "Ja für alle").

sie erhalten jetzt Fehler für die ersten Gebäude. Ihre Resource.designer.cs-Datei wird jedoch regeneriert. Sie können jetzt ein zweites Mal erstellen. es funktioniert.

11
Ali Yousefie

Ich habe dieses Problem behoben, indem ich das Zeichen "-" aus dem Namen der Bilder im Drawable-Ordner entfernte.

5
chlara

Es scheint, dass dies aus verschiedenen Gründen geschehen kann. Ein Schritt, der helfen kann, das Problem aufzudecken, besteht darin, die Ausführlichkeit der Build-Ausgabe in Visual Studio zu erhöhen: Extras -> Optionen -> Erstellen und Ausführen -> Ändern Sie die Option "MSBuild-Projekt Build-Ausgabeverteilung" in "Diagnose". 

In meinem Fall hatte eines meiner Steuerelemente keine ID, sodass es dazu kam, dass Resource.Designer.cs nicht aktualisiert wurde (dies jedoch nicht unbeaufsichtigt war) .  enter image description here

Die Datei wurde erneut aktualisiert, sobald ich eine ID hinzugefügt habe.

ANMERKUNG: Möglicherweise möchten Sie die Ausführlichkeit der Build-Ausgabe wieder auf normal setzen, nachdem Sie Ihr Problem gefunden haben.

3
DevOragz

Der Ordner Resource.designer.cs würde aktualisiert, wie @Brendan Zagaeski erwähnt hat.

Da es jedoch so aussieht, als hätte das Ihr Problem nicht gelöst, scheint Xamarin keine der von Ihnen vorgenommenen Änderungen zu erkennen. Zumindest ist mir das passiert. 

Am Ende löste ich es durch Umbenennen des generierten Ordners "Layout" in "Layout" (Ich habe dasselbe für drawable und Werte gemacht). Danach wurde der Resource.Designer einfach durch erneutes Erstellen des Projekts erfolgreich aktualisiert. 

Hoffe das hilft jemandem.

1
YKa

method1: Löschen Sie die Datei aus dem Projekt und löschen Sie auch bin- und obj -Dateien. Erstellen Sie dann das Projekt. Es sollte 100% funktionieren, da ich dies verwende, wenn ich vor demselben Problem stehe, wenn das nicht funktioniert Möglichkeit

method2: Anwendung schließen, Visual Studio, Karte auf c-> Benutzer-> -> AppData (Hidden File) -> Xamarin-Datei aus lokalem und Roaming löschen

1
ROHIT MANDALAPU

Es passierte mir ein paar Mal, und jedes Mal, wenn das Problem nicht von der Generierung der Datei selbst stammte, sondern von einer missgebildeten Android-Ressource ... Wenn also, nachdem Sie etwas aus Ihrem Repository zusammengeführt haben, das Android überprüft wurde, überprüfen Sie Ihr Android-Gerät Ressourcen (Farben, Zeichenfolgen usw.) für fehlerhaften XML-Code.

1
Miiite

Stellen Sie sicher, dass der Name Ihres Stammpakets korrekt ist. 

1
ComeIn

Es ist einfacher als es scheint ...

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

Sie können Ihr Projekt mithilfe von find/replace umbenennen. Die Ressourcendatei verwendet jedoch den in den Haupteinstellungen für "Standard-Namespace" festgelegten Wert und wird weiterhin auf diesen Namen zurückgesetzt, auch wenn Sie die Datei Resource.designer.cs manuell bearbeiten oder aus Xamarin heraus.

1
The Kirk

Ich hatte genau das gleiche Problem und keine der Antworten funktionierte hier. Schließlich stellte ich fest, dass ich in einigen Layouts einige Bildreferenzen hatte, die noch nicht existierten. Wenn Sie einen fehlerhaften Quellpfad haben, wird die Aktualisierung von Resource.Designer.cs ohne Fehler abgebrochen. Nach dem Entfernen der Referenzbilder wurde das Problem behoben und Resource.Designer.cs wurde aktualisiert. 

Hoffe das hilft jemandem!

0
sguler

Damit die Projektlösung zum Wiederherstellen funktioniert, müssen Sie die Datei, in der sie erstellt wurde, bearbeiten und das Projekt neu erstellen.

0

Für Leute, die dieses Problem immer noch haben, könnte ein Fehler in der Fehlerliste etwa so lauten: "Es wurde keine Ressource gefunden, die der angegebenen 'toRightOf @ id/(Name der Ressource)' (oder einer anderen Position im relativen Layout) entspricht ) ... müssen Sie den gesamten Code der Ressource (in der axml-Datei) markieren, die die ID enthält, ausschneiden, alles speichern, dann einfügen und neu erstellen ... dann regeneriert sich Ihre Resource.Designer.cs! Hoffe, es hilft .

0
Osman Guerrero

Ich hatte das gleiche Problem in Visual Studio. Die Ressourcendesignerdatei wird nur generiert, wenn sich die Ressource ändert, die ich folgendermaßen angewendet habe, um die erforderliche Datei resource.designer.cs zu generieren. * Den Ressourcen wurde ein Dummy-Image hinzugefügt. * Das Projekt wurde bereinigt. cs generiert.

0