Xamarin.ios 在MonoDevelop中,在Monotouch项目中组织ViewController的正确方法是什么?

Xamarin.ios 在MonoDevelop中,在Monotouch项目中组织ViewController的正确方法是什么?,xamarin.ios,monodevelop,Xamarin.ios,Monodevelop,在MonoDevelop中使用iOS应用程序,我需要开始将一些文件组织到子目录中 首先,我在项目的主目录中创建了一个新的ViewControllers文件夹。主要是,我刚刚尝试将Xcode脚本创建的文件拖放到这个新文件夹中。这会导致文件丢失错误,有时我不得不手动编辑情节提要文件以删除或修复文件的位置 虽然我在这方面取得了一些成功,但有时在Xcode中进行更改后,情节提要文件也不会更新designer.cs文件 有没有人找到了正确的方法来组织一个没有这些问题的大型项目?看看这个:Bug 6130-

在MonoDevelop中使用iOS应用程序,我需要开始将一些文件组织到子目录中

首先,我在项目的主目录中创建了一个新的ViewControllers文件夹。主要是,我刚刚尝试将Xcode脚本创建的文件拖放到这个新文件夹中。这会导致文件丢失错误,有时我不得不手动编辑情节提要文件以删除或修复文件的位置

虽然我在这方面取得了一些成功,但有时在Xcode中进行更改后,情节提要文件也不会更新designer.cs文件

有没有人找到了正确的方法来组织一个没有这些问题的大型项目?

看看这个: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>

TestViewController.cs
将文件移动到控制器子文件夹后

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

TestViewController.cs
TestViewController.cs

我发现了一件事:如果我将文件移动到新位置,我需要关闭MonoDevelop并重新启动它。程序仍将在其旧位置查找.designer.cs文件,但如果我将其删除就可以了。在移动文件后简单地重新启动应用程序似乎有助于解决一些问题。感谢您的解决方案,为我的项目工作。重新加载解决方案可能就足够了。您可以使用“文件”菜单中的“最近的解决方案”项,这比完全重新启动MonoDevelop要快。