2012-12-13 7 views
5

Praca w MonoDevelop na aplikacji na iOS i potrzebuję rozpocząć organizowanie niektórych moich plików w podkatalogach.Jaki jest poprawny sposób organizowania ViewControllers w projekcie Monotouch w MonoDevelop?

Rozpocząłem od utworzenia nowego katalogu ViewControllers w głównym katalogu projektu. Przede wszystkim próbowałem przeciągnąć i upuścić pliki, które tworzy storyboard Xcode do tego nowego folderu. Daje mi to błędy w plikach, a czasami musiałem ręcznie edytować pliki scenorysów, aby usunąć lub naprawić lokalizację plików.

Chociaż odniosłem pewien sukces, czasami kończy się to również na plikach scenariusza, które nie aktualizują plików designer.cs po wprowadzeniu zmian w Xcode.

Czy ktoś znalazł prawidłowy sposób zorganizowania dużego projektu bez tych problemów?

+1

Jedna rzecz, którą odkryłem: jeśli przeniesię plik do nowej lokalizacji, muszę zamknąć MonoDevelop i uruchomić go ponownie. Program nadal będzie szukał pliku .designer.cs w starej lokalizacji, ale jeśli go usunę, będzie w porządku. Proste ponowne uruchomienie aplikacji po przeniesieniu plików wydaje się pomóc w rozwiązaniu niektórych problemów. – cain

+0

Dzięki za rozwiązanie, pracowałem dla moich projektów. – Renzzs

+0

Prawdopodobnie wystarczy ponownie załadować rozwiązanie. Możesz użyć elementu ostatnich rozwiązań w menu Plik, który jest szybszy niż całkowite zrestartowanie MonoDevelop. –

Odpowiedz

2

Spójrz na ten Bug Report on Xamarin: Bug 6130 - Przenoszenie plików z odwołaniami do zależności zależności.


atrybut w pliku csprojDependentUpon nie jest aktualizowana po plik rodzic zostanie przeniesiony. Na przykład utworzenie nowej klasy kontrolera pod Xamarin Studio, a następnie przeniesienie jej do podfolderu, spowoduje przerwanie zależności.

Jedynym sposobem naprawy jest ręczna edycja csproj i ponowne załadowanie projektu w Xamarin Studio. Musisz to zrobić za każdym razem, gdy dodasz nowy plik.

Wygląda na to, że Xamarin Studio dodaje zamiast aktualizacji istniejące wpisy w csproj. Tutaj jest csproj zanim przeniosłem pliki do podkatalogu:

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

Po przeniesieniu plików do podkatalogu kontrolera.

<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> 
Powiązane problemy