2017-03-08 20 views
8

Tôi đang thực hiện một dự án mà tôi phải viết một ứng dụng Android sử dụng mã cơ sở của mã f #. Trong khi làm như vậy tôi đang chạy vào một số vấn đề liên quan đến việc tham khảo mã f # này trong dự án Android của tôi.Tham chiếu mã F # trong dự án android

Tôi đã googling và nó nói với tôi rằng mã f # phải nằm trong một dự án PCL được tham chiếu bởi dự án Android. Tôi đã làm điều này, nhưng dự án android vẫn không thể nhận ra các không gian tên và tệp được khai báo trong dự án khác.

Tôi có một không gian tên được gọi là NimGame.Core nơi hầu hết các tệp .fs của tôi được đặt. Một ví dụ được hiển thị trong hình bên dưới mô-đun hàng đợi sự kiện của tôi được định vị rõ ràng trong NimGame.Core. CNTT cũng có thể được nhìn thấy trong tài liệu tham khảo của tôi rằng tôi đã tham chiếu dự án PCL (NimGameCore) trong dự án Android của tôi (NimGame). Example of fsharp code

Nhưng khi tôi đang cố sử dụng các tệp fsharp trong mã C# của tôi, nó không hiển thị. Example2

Bất kỳ đề xuất nào về những gì có thể gây ra điều này?

+0

Để tăng khả năng hiển thị câu hỏi của bạn, hãy thử thêm các thẻ cụ thể hơn - tôi đoán là thêm thẻ "xamarin" sẽ giúp –

Trả lời

3

a bug in Xamarin StudioMonoDevelp ngăn IntelliSense hoạt động khi dự án F # được tham chiếu từ dự án C#. Ngoài ra, các loại F # trong mã C# được gạch chân bằng đường màu đỏ.

Lỗi đã được sửa, vì vậy việc nâng cấp bạn IDE sẽ giải quyết được sự cố.

+0

Không phải IntelliSense không hoạt động, đó là cách tôi chỉ ra rằng nó không nhận ra không gian tên. Tôi đã cập nhật tất cả mọi thứ mà tôi có thể trên IDE của tôi. –

+0

@ KasperLederballeSørensen Bạn đang sử dụng IDE nào (Xamarin Studio hoặc Mono Develop)? Phiên bản nào? Điều đó có nghĩa là không gian tên là "không được công nhận"? Bạn đang nhận được một lỗi biên dịch? Thông báo lỗi là gì và mã C# chính xác cung cấp cho bạn lỗi đó là gì? –

+0

Xamarin Studio phiên bản 6.2 xây dựng 1821. Có nghĩa là nó không được công nhận là khi cố gắng gõ vào 'bằng cách sử dụng NimGame.Core;' nó không biết đó là gì và chỉ nói rằng 'sử dụng chỉ thị là không cần thiết'. Tôi đã không cố gắng để biên dịch nó hoặc đi xa hơn với nó, vì tôi sẽ không thể. Tôi cần mã f # được sử dụng vì nó là cơ sở mã và chức năng chính của chương trình. –

Các vấn đề liên quan