C# 컴파일러에 사전 정의 된 상수가있어 대상 플랫폼의 버전을 감지합니까?C# 컴파일러는 버전 또는 플랫폼 상수를 설정합니까?
프로젝트 옵션에서 플랫폼을 설정할 수 있지만 .NET 2 및 .NET 3.5 용 단일 소스를 작성하는 방법은 무엇입니까?
편집 : 코드를 한 번 작성하고 #if CLR_VERSION35 과 같은 설정으로 동작을 전환 한 다음 다른 구성으로 변경하고 싶습니다.
반대의 질문 : CLR35 및 CLR20 구성을 만들면이를 기반으로 대상 플랫폼을 선택할 수 있습니까? 이 옵션은 VS2008에서 사용할 수 없으며 아직 MSBUILD에 대해 많이 알지 못합니다.
에게 있다면. – Tassadaque
@ Tassadaque, 나사로가 묘사 한 것과 동일합니다. (1) 가장 낮은 공통 분모에 쓰기, 또는 (2) 필요한 버전에 대한 네드 재배포 가능 항목을 포함하십시오. 다행히도, 설치 프로젝트는 재배포 가능 패키지를 쉽게 포함시킵니다. 그리고 컴파일 시간에 _ 알기를 원한다면 Chris S가 답변에서 말한 것처럼 : 조건부 컴파일 기호를 추가하여 소스 코드에서 알아야 할 사항을 알려줍니다. –