如何在项目中更改.NET框架版本?

Sar*_*ien 3 .net c# debug-symbols

我试图使用微软参考源,但遇到了问题.根据他们的疑难解答建议,我试图验证我使用的是正确的.NET框架版本.然而ildasm显示了这个:

在此输入图像描述

然而,我确实改变了项目的目标框架,如下所示:

在此输入图像描述

我是否需要在其他地方更改版本?

Han*_*ant 6

你得到的是准确的.面向.NET 4.5或4.5.1的项目仍使用CLR版本4.0.30319和核心框架程序集,如mscorlib v4.0.0.0

这很大程度上与.NET版本3.0,3.5和3.5SP1的情况重复,它们的目标是CLR版本2.0.50727和核心框架程序集v2.0.0.0.就像4.5和4.5.1一样,它们并不是新的并排版本.他们只是将新组件添加到现有集合中.

您仍然可以使用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
Run Code Online (Sandbox Code Playgroud)