microsoft reference source을 사용하려고했지만 문제가 발생했습니다. troubleshooting에 대한 제안대로 올바른 .NET 프레임 워크 버전을 사용하고 있는지 확인하려고했습니다.프로젝트에서 .NET Framework 버전을 어떻게 변경합니까?
내가 다른 곳 버전을 변경해야합니까 :
나는 그러나 당신이 여기에서 볼 수 있듯이 프로젝트의 대상 프레임 워크를 변경 않았다 ILDASM 그러나이 보여?
microsoft reference source을 사용하려고했지만 문제가 발생했습니다. troubleshooting에 대한 제안대로 올바른 .NET 프레임 워크 버전을 사용하고 있는지 확인하려고했습니다.프로젝트에서 .NET Framework 버전을 어떻게 변경합니까?
내가 다른 곳 버전을 변경해야합니까 :
나는 그러나 당신이 여기에서 볼 수 있듯이 프로젝트의 대상 프레임 워크를 변경 않았다 ILDASM 그러나이 보여?
당신이 가진 것은 정확합니다. .NET 4.5 또는 4.5.1을 대상으로하는 프로젝트는 여전히 CLR 버전 4.0.30319 및 mscorlib v4.0.0.0과 같은 핵심 프레임 워크 어셈블리를 사용합니다.
이것은 .NET 버전 3.0, 3.5 및 3.5 SP1에서는 CLR 버전 2.0.50727 및 핵심 프레임 워크 어셈블리 v2.0.0.0을 대상으로합니다. 4.5와 4.5.1처럼, 그들은 새로운 side-by-side 버전이 아니었다. 그들은 방금 기존 어셈블리에 새 어셈블리를 추가했습니다.
ildasm.exe로 선택한 대상을 계속 알 수 있으므로 메타 데이터에 표시되는 System.Runtime.Versioning.TargetFrameworkAttribute 특성을 확인하십시오. CLR은 이것을 확인하여 .NET 4.0 또는 4.5 설치에서 4.5.1을 실행하지 않도록합니다. 필요한 버전을 다운로드 할 수 있습니다. 모양은 다음과 같습니다 (가독성을 위해 수정 됨) :
.custom instance void [mscorlib]System.Runtime.Versioning.TargetFrameworkAttribute::.ctor(string) =
(01 00 1C 2E 4E 45 54 46 72 61 6D 65 77 6F 72 6B // ....NETFramework
2C 56 65 72 73 69 6F 6E 3D 76 34 2E 35 2E 31 01 // ,Version=v4.5.1.
00 54 0E 14 46 72 61 6D 65 77 6F 72 6B 44 69 73 // .T..FrameworkDis
70 6C 61 79 4E 61 6D 65 14 2E 4E 45 54 20 46 72 // playName..NET Fr
61 6D 65 77 6F 72 6B 20 34 2E 35 2E 31) // amework 4.5.1
+1, 이것은 좋은 답변입니다. 그래서 당신과 같은 공헌자가있어서 정말 행운입니다. – Habib
메타 데이터 버전에서 .Net 프레임 워크 버전을 확인하려는 경우 올바른 방법이 아닙니다.
메타 데이터 버전은 런타임 버전 또는 CLR 버전을 보여줍니다.
그래서 닷넷 프레임 워크 4, 4.5, 4.5.1이 즉 V4.0.30319 같은 CLR 버전을 볼 수 있습니다. .NET 프레임 워크 버전을 식별하기 위해 this answer을 볼 수 있습니다..NET Framework 4, 4.5 및 4.5.1에는 CLR 4가 포함되지만 .NET Framework 2.0, 3.0 및 3.5에는 CLR 2.0이 포함됩니다. (CLR은 전혀 버전 3 없었다.)
이것은 "안전하게 가정 할 수 있습니다"를 제외하고는 매우 좋은 답변입니다. 확인되어야합니다. 이 질문에 설명 된 방법이 그렇게하지 못한 것은 맞습니다. –
@BenVoigt, 실제로 응용 프로그램의 .Net 프레임 워크 버전을 식별하기위한 리소스/참조를 찾으려고합니다. 하지만 당신 말이 맞아요, 그 문장을 수정해야합니다 – Habib
프로젝트를 재구성 해 보았습니까? –
@ LRNAB 네, 여러 번 Visual Studio를 닫은 후 다시 열었습니다. – Sarien
.Net framework 4.0과 4.5에서 'Metadata version'이 달라야한다고 생각하십니까? – Habib