2012-12-13 8 views
5

In MonoDevelop in einer iOS-App arbeiten und ich habe die Notwendigkeit, einige meiner Dateien in Unterverzeichnissen zu organisieren.Wie organisieren Sie ViewControllers in einem Monotouch-Projekt in MonoDevelop?

Ich habe damit begonnen, einen neuen ViewControllers-Ordner im Hauptverzeichnis des Projekts zu erstellen. Hauptsächlich habe ich gerade versucht, die Dateien, die das Xcode-Storyboard erstellt, in diesen neuen Ordner zu ziehen. Dies gibt mir Fehler bei fehlenden Dateien, und manchmal musste ich die Storyboard-Dateien manuell bearbeiten, um den Speicherort der Dateien zu entfernen oder zu reparieren.

Während ich einige Erfolge mit diesem gehabt habe, manchmal endet auch mit den Storyboard-Dateien bis nicht die designer.cs Dateien aktualisieren, nachdem Änderungen in Xcode zu machen.

Hat jemand den richtigen Weg gefunden, ein großes Projekt ohne diese Probleme zu organisieren?

+1

Eine Sache, ich habe festgestellt: Wenn ich die Datei an eine neue Position verschieben, muss ich MonoDevelop schließen und neu starten. Das Programm wird weiterhin nach der Datei .designer.cs an seinem alten Speicherort suchen, aber wenn ich es lösche, ist es in Ordnung. Einfaches Neustarten der Anwendung nach dem Verschieben von Dateien scheint zu helfen, mit einigen der Probleme umzugehen. – cain

+0

Danke für Ihre Lösung, arbeitete für meine Projekte. – Renzzs

+0

Es ist wahrscheinlich ausreichend, die Lösung nachzuladen. Sie können das Element recent solutions im Menü Datei verwenden, das schneller ist als MonoDevelop vollständig neu zu starten. –

Antwort

2

Werfen Sie einen Blick auf dieses Bug Report on Xamarin: Bug 6130 - Das Verschieben von Dateien mit Bezug Abhängigkeit bricht.


Das DependentUpon Attribut in einer csproj Datei wird, nachdem die Mutter Datei bewegt nicht aktualisiert. Wenn Sie zum Beispiel eine neue Controller-Klasse in Xamarin Studio erstellen und sie dann in einen Unterordner verschieben, wird die Abhängigkeit unterbrochen.

Die einzige Möglichkeit, es zu beheben, ist über manuelle Bearbeitung der csproj und das Projekt in Xamarin Studio neu zu laden. Sie müssen dies jedes Mal tun Sie fügen eine neue Datei hinzu.

Es ist wie Xamarin Studio sieht fügt statt Updates die vorhandenen Einträge in csproj. Hier ist Csproj, bevor ich die Dateien in einen Unterordner verschoben:

<Compile Include="TestViewController.cs" /> 
<Compile Include="TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile> 

Nach Verschieben der Dateien in den Controller-Unterordner.

<Compile Include="TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile> 
<Compile Include="Controller\TestViewController.cs" /> 
<Compile Include="Controller\TestViewController.designer.cs"> 
    <DependentUpon>TestViewController.cs</DependentUpon> 
</Compile> 
Verwandte Themen