在iOS应用上使用MonoDevelop,我需要开始将一些文件组织到子目录中。
我首先在项目的主目录中创建一个新的ViewControllers文件夹。主要是,我刚刚尝试将Xcode故事板创建的文件拖放到这个新文件夹中。这给了我文件丢失的错误,有时我不得不手动编辑故事板文件来删除或修复文件的位置。
虽然我已经取得了一些成功,但有时这也会导致故事板文件在Xcode中进行更改后没有更新designer.cs文件。
有没有人找到正确的方法来组织没有这些问题的大型项目?
答案 0 :(得分:2)
看看这个Bug Report on 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>