2012-12-13 30 views
5

Làm việc trong MonoDevelop trên ứng dụng iOS và tôi cần bắt đầu tổ chức một số tệp của mình vào các thư mục con.Cách chính xác để tổ chức ViewControllers trong dự án Monotouch trong MonoDevelop là gì?

Tôi đã bắt đầu bằng cách tạo thư mục ViewControllers mới trong thư mục chính của dự án. Chủ yếu, tôi vừa thử kéo và thả các tệp mà bảng phân cảnh Xcode tạo vào thư mục mới này. Điều này cho tôi lỗi của các tệp bị thiếu và đôi khi tôi phải chỉnh sửa thủ công các tệp bảng phân cảnh để xóa hoặc sửa vị trí tệp.

Trong khi tôi đã có một số thành công với điều này, đôi khi điều này cũng kết thúc với các tệp bảng phân cảnh không cập nhật tệp designer.cs sau khi thực hiện thay đổi trong Xcode.

Có ai đã tìm đúng cách để tổ chức một dự án lớn mà không có những vấn đề này không?

+1

Một điều tôi đã tìm thấy: Nếu tôi di chuyển tệp đến vị trí mới, tôi cần phải đóng MonoDevelop xuống và khởi động lại. Chương trình vẫn sẽ tìm kiếm tệp .designer.cs ở vị trí cũ của nó, nhưng nếu tôi xóa nó thì vẫn ổn. Khởi động lại ứng dụng đơn giản sau khi di chuyển các tập tin xung quanh dường như giúp giải quyết một số vấn đề. – cain

+0

Cảm ơn giải pháp của bạn, đã làm việc cho các dự án của tôi. – Renzzs

+0

Có thể là đủ để tải lại giải pháp. Bạn có thể sử dụng mục giải pháp gần đây trong menu Tệp, nhanh hơn khởi động lại hoàn toàn MonoDevelop. –

Trả lời

2

Hãy xem qua số Bug Report on Xamarin: Lỗi 6130 - Di chuyển tệp có tham chiếu ngắt phụ thuộc.


Các DependentUpon thuộc tính trong một tập tin csproj không được cập nhật sau khi các tập tin mẹ được di chuyển. Ví dụ, tạo một lớp điều khiển mới trên Xamarin Studio và sau đó di chuyển nó đến một thư mục con sẽ phá vỡ sự phụ thuộc.

Cách duy nhất để khắc phục sự cố là chỉnh sửa thủ công csproj và tải lại dự án trong Xamarin Studio. Bạn phải thực hiện việc này mỗi lần bạn thêm tệp mới.

Dường như Xamarin Studio thêm thay vì cập nhật các mục nhập hiện có trong csproj. Dưới đây được csproj trước khi tôi chuyển các tập tin vào một thư mục con:

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

Sau Di chuyển các tập tin vào thư mục 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> 
Các vấn đề liên quan