2012-12-13 4 views
5

iOSアプリケーションのMonoDevelopで作業しています。私はいくつかのファイルをサブディレクトリに整理する必要があります。MonoDevelopのMonotouchプロジェクトでViewControllerを整理する正しい方法は何ですか?

私は、プロジェクトのメインディレクトリに新しいViewControllersフォルダを作成することから始めました。主に、Xcodeのストーリーボードが作成したファイルをこの新しいフォルダにドラッグアンドドロップしてみました。これにより、ファイルが見つからないというエラーが表示され、ファイルの場所を削除または修正するためにストーリーボードファイルを手動で編集しなければならないことがありました。

私はこれでいくつかの成功を収めましたが、Xcodeを変更した後に、storyboardファイルがdesigner.csファイルを更新しないこともあります。

誰も、これらの問題なしに大きなプロジェクトを整理する正しい方法を見つけましたか?

+1

私が見つけたこと:ファイルを新しい場所に移動すると、MonoDevelopを閉じて再起動する必要があります。プログラムはまだ古い場所の.designer.csファイルを探していますが、削除すれば問題ありません。ファイルを移動した後にアプリケーションを簡単に再起動すると、いくつかの問題に対処できるようです。 – cain

+0

あなたのソリューションをありがとう、私のプロジェクトのために働いた。 – Renzzs

+0

おそらく、ソリューションをリロードするだけで十分です。ファイルメニューの最近のソリューション項目を使用することができます。これは、MonoDevelopを完全に再起動するよりも高速です。 –

答えて

2

Bug Report on Xamarinを参照してください。Bug 6130 - 依存関係のあるファイルを移動する。


csprojファイル内DependentUpon属性が親 ファイルを移動した後に更新されていません。たとえば、 Xamarin Studioで新しいコントローラクラスを作成し、それをサブフォルダに移動すると、依存関係が解除されます。

修正する唯一の方法は、 csprojを手動で編集し、Xamarin Studioでプロジェクトを再読み込みすることです。 新しいファイルを追加するたびにこれを行う必要があります。

Xamarin Studioは、更新の代わりにcsprojの既存のエントリを追加するようです。私はサブフォルダにファイルを移動する前に、ここで はcsprojです:

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

コントローラのサブフォルダにファイルを移動した後。

<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> 
関連する問題