2012-04-28 36 views
8

Mã F # được nhắm mục tiêu cho xbox360 bằng cách sử dụng xna không biên dịch sau khi tôi chuyển đổi dự án sang thư viện lớp di động.Cách tạo Chủ đề trong thư viện lớp di động?

let thread = Thread(fun() -> 
    setAffinity() 

Chủ đề được squiggles đỏ và thông báo lỗi nói

Lỗi 1 loại này không có nhà xây dựng đối tượng truy cập

Chắc chắn, nếu tôi nhìn vào mscorlib trong đối tượng nhà thám hiểm, loại không có hàm tạo. Tuy nhiên, theo MSDN hàm tạo tồn tại trên xbox và trong PCL.

Chỉnh sửa: Tôi đã thử với C# PCL và tôi gặp lỗi tương tự.

Trả lời

7

Tạo chủ đề không thể di chuyển. Liên kết của bạn sai, nó không nói về PCL.

Đây là chi phí sử dụng Thư viện lớp di động, đó là những gì còn lại sau khi trừ tất cả mọi thứ không được hỗ trợ bởi ít nhất một trong các mục tiêu có thể. Mà không để lại nhiều, PCL là khá nhỏ. Hang-up lớn nhất là một mục tiêu không thực sự được đề cập như được hỗ trợ, tuy nhiên, WinRT (aka Metro). Nó có api bị hạn chế nghiêm trọng.

Cân nhắc ThreadPool.QueueUserWorkItem() thay thế. Tôi cho rằng Nhiệm vụ sẽ được hỗ trợ một ngày trong PCL. Đó là một công việc đang được tiến hành ngay bây giờ.

+0

Liên kết có nội dung "Được hỗ trợ trong: Thư viện lớp di động" về phía cuối. Cảm ơn bạn đã gợi ý về 'QueueUserWorkItem()', nhưng đó không phải là tùy chọn trường hợp của tôi, vì tôi muốn kiểm soát lõi nào chạy trên đó, và tôi nghi ngờ nhóm luồng sẽ cung cấp loại trò chơi độ trễ thấp yêu cầu. – Joh

+0

Ah, vâng, đó là lỗi tài liệu. Không thể chú thích các bài viết MSDN, David Kean giữ một mắt trên thẻ tại SO để hy vọng nhìn thấy nó. –

+0

Thế nào là "không di động" trong việc tạo chủ đề mới? Ví dụ: nếu tôi chia sẻ mã giữa .net và Windows Phone? – Grigory

1

Không phải là glib nhưng điều này nghe giống như một lỗi và đó là cách tôi sẽ tiến hành. Gửi nó đến fsbugs tại Microsoft dot com

+0

'fsbugs' không đối phó với lỗi NET, chỉ có F # lỗi (như cái tên ngụ ý). –

+0

Nghe có vẻ giống như một vấn đề với F # tạo PCL đúng cách đó là lý do tại sao tôi đưa ra gợi ý. –

+0

Tôi hiện đã thử với dự án C# và gặp lỗi tương tự. Do đó, tôi đã xóa thẻ F # khỏi câu hỏi của tôi. Xin lỗi vì sự nhầm lẫn. – Joh

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