2014-04-09 20 views
6

Tôi đang sử dụng Visual Studio 2013 hiện và tôi viết mã đơn giản này:Tại sao IDE của tôi phàn nàn về cú pháp mới sau khi cài đặt Roslyn?

class Program 
{ 
    private static void Main(string[] args) 
    { 
     Console.WriteLine(string error = "Hello world!"); 
    } 
} 

Rõ ràng đây không phải là C# mã hợp lệ, nhưng phần kỳ lạ là mặc dù tôi thấy hai lỗi, các mã được biên dịch và làm việc tốt :

enter image description here

tôi nghĩ rằng migth có liên quan với Roslyn vì tôi cài đặt Roslyn User Preview và phần mở rộng khác, nhưng các mẫu dự án tôi đang sử dụng là standart Console Application template.So, tại sao mã này là c ompiling mặc dù có ba lỗi trình biên dịch? Tôi đã thử điều này với VS 2012 và nó không biên dịch.Is rằng một lỗi trình biên dịch, hoặc điều này sẽ hợp lệ trong phiên bản tiếp theo của C#?

Dưới đây là danh sách lỗi tôi nhìn thấy trong VS 2012:

enter image description here

Nhưng có chắc chắn là không có lỗi trong VS 2013.

Lưu ý: Tôi không chắc liệu nó có liên quan hay không nhưng tôi cũng đang sử dụng Resharper.

+3

Bạn có chắc chắn rằng mình không thực thi phiên bản trước không? Làm sạch giải pháp của bạn, thay đổi chuỗi thành một thứ khác và thử lại? – Blorgbeard

+0

@Blorgbeard vâng, tôi khá chắc chắn.Tôi đã thử điều này nhiều lần, tôi nhận thấy rằng trong một dự án khác và tôi tạo một dự án mới.But vẫn còn biên dịch –

+0

Bạn đang sử dụng Roslyn? – Dai

Trả lời

7

Trong VS 2013 với Roslyn nhưng không có ReSharper, mã biên dịch tốt và tôi không thấy bất kỳ lỗi hoặc squigglies.

Đây là hành vi mong đợi, vì tính năng C# 6.0 được đề xuất này được hỗ trợ trong bản xem trước Roslyn hiện tại.

Nếu tôi kích hoạt tính năng ReSharper, tôi bắt đầu thấy các hình thu nhỏ, nhưng không có lỗi trong cửa sổ Danh sách lỗi và mã vẫn biên dịch tốt.

Đây là cũng hành vi mong đợi, bởi vì phiên bản hiện tại của R # không có bất kỳ hỗ trợ nào cho các tính năng C# 6.0 (lý do tại sao nó?).

Vì vậy, bạn thấy các hình thu nhỏ từ R #, nhưng VS có thể làm việc với mã chỉ tốt.

Nếu bạn muốn thử các tính năng C# 6.0 được đề xuất, tôi đề xuất bạn temporarily disable R#.

10

Chào mừng bạn đến với tương lai! Những "biểu thức khai báo" đang được xem xét cho phiên bản tiếp theo của C# và nếu bạn đang sử dụng bản xem trước Roslyn, bạn có thể dùng thử chúng sớm.

+0

điều này không giải thích được những vệt đỏ (và các lỗi biên dịch được báo cáo bởi IDE), mặc dù –

+0

thú vị! :) Tôi nghĩ bạn đúng, nhưng tôi vẫn không hiểu tại sao tôi lại thấy những lỗi này và lời giới thiệu. Tôi đã xem một video trong Kênh 9 và thấy một số tính năng mới nhưng tôi chưa bao giờ thấy điều này. Có vẻ như là một tính năng khác mà họ đã không đề cập đến –

+0

@HighCore: Các lỗi đang được báo cáo bởi VS2012, mà không sử dụng Roslyn. – SLaks

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