CẬP NHẬT: Tôi đã nộp đơn này là an issue on Microsoft Connect nếu bạn có thể tái tạo điều này và/hoặc rất muốn xem lỗi này, vui lòng giúp bỏ phiếu cho vấn đề ở đó.Biên dịch không thành công nếu các định nghĩa đại biểu được đưa vào một dự án khác?
Tôi đã cố gắng giải quyết vấn đề này hàng giờ liền.
Thực sự sẽ đánh giá cao bất kỳ ý tưởng/lời khuyên nào mà bạn có thể nghĩ đến.
Trước hết, tôi có 3 tệp Class.cs
Definitions.cs
và Program.cs
. Tôi đã dán nội dung tệp qua số http://pastie.org/1049492 để bạn thử.
Vấn đề là, Nếu bạn có TẤT CẢ 3 tệp trong cùng một dự án ứng dụng bảng điều khiển. Ứng dụng biên dịch và chạy tốt.
Tuy nhiên, nếu tôi có Class.cs
và Definitions.cs
trong một dự án "Thư viện" được tham chiếu đến từ các dự án giao diện điều khiển ứng dụng chính mà chỉ có các tập tin Program.cs
, biên soạn không thành công với:
- Đại biểu
Act
không lấy 2 đối số. - Không thể chuyển đổi biểu thức lambda ủy gõ 'DC.Lib.Produce' vì một số loại trở lại trong khối không mặc nhiên chuyển đổi thành các loại đại biểu trở lại ...
Đây là một giải pháp hoàn chỉnh với 3 dự án - 1 với tất cả các tệp được kết hợp với nhau và một tệp khác có định nghĩa được đặt trong một dự án khác:
http://dl.dropbox.com/u/149124/DummyConsole.zip
Tôi đang sử dụng phiên bản Professional RT2.
Cảm ơn! Đang chờ đợi để có thêm phản hồi ... Hy vọng rằng tôi không phải quay lại 3.5 chỉ vì TT – chakrit
@chakrit: Tôi đã giải quyết vấn đề này, nhưng tôi không thấy cách quay lại .NET 3.5 sẽ giúp bạn - như tôi đã nói, tôi đã thấy cùng một vấn đề với trình biên dịch C# 3. –
Tôi đang viết lại/refactoring một thư viện mà làm việc tốt trong 3.5 để sử dụng mới NET 4.0 công cụ .... Tôi đoán tôi phải đã vấp lên một số dây trong quá trình này. – chakrit