C# 프로그램이 해당 프로그램에서 사용되는 언어 기능을 지원하지 않는 C# 버전에서 컴파일되는 것을 어떻게 감지 할 수 있습니까?주어진 언어 나 컴파일러 버전을 요구하도록 C# 코드를 컴파일하는 방법은 무엇입니까?
C# 컴파일러는 지원하지 않는 언어의 기능을 발견하면 프로그램을 거부하고 오류 메시지를 표시합니다. 이것은 프로그램이 C# 컴파일러의 너무 오래된 버전 또는 C# 컴파일러의 필수 버전을 지원하지 않는 C# 컴파일러로 컴파일되고 있음을 나타내는 문제를 해결하지 않습니다.
이상적으로는 간단한
#if CS_VERSION < 3
#error CSharp 3 or later is required
#end
이전 버전의 C# 컴파일러 (.NET 2005)가 현재 버전 (.NET 2008) 이전 경로에서 선택되었으므로 명령 줄 컴파일러를 통해 생성 된 C# 코드가 다양한 오류로 손상되었습니다.), 버그가 C# 코드의 생성자에 없었 음이 즉시 명백하지 않았습니다. – grrussel
알았어 - 그 컴파일러는 어떤 종류의 스크립트로 실행되고 있습니까? 그렇다면 RequiredFeatures.cs 파일이 유용 할 것입니다. –
당신이 말하는 4.0 특정 기능을 강조 표시 할 수 있습니까?/langVersion과 어떻게 다른가? 나는 아래에 준 예제를 통해 무엇이되는지보고 싶습니다 ... –