5

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

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

虽然我在这方面取得了一些成功,但有时这也会导致故事板文件在 Xcode 中进行更改后没有更新 Designer.cs 文件。

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

4

1 回答 1

2

看看这个关于 Xamarin 的错误报告:错误 6130 - 移动文件与依赖关系中断参考。


移动父文件后,文件中的DependentUpon属性不会更新。csproj例如,在 Xamarin Studio 上创建一个新的控制器类,然后将其移动到子文件夹会破坏依赖关系。

修复它的唯一方法是手动编辑 csproj 并在 Xamarin Studio 中重新加载项目。每次添加新文件时都必须这样做。

看起来 Xamarin Studio 添加而不是更新csproj. 这是我将文件移动到子文件夹之前的 csproj:

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

将文件移动到 Controller 子文件夹后。

<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>
于 2014-01-17T17:09:37.820 回答