.net Dll显示了转换为4.5.2后的框架4.0



我在这个线程中找到了问题的部分答案:

stackoverflow无法更改目标框架。。。

在我的例子中,框架已经成功地转换为4.5.2,并放置了一个带有async和wait的方法,我相信这是框架4.5的一部分,该方法通过引用库的exe成功运行。因此,我可以推测该库实际上是使用框架4.5.2编译的。

然而,当在任何其他项目中引用时,该库在其属性中显示它是在框架4.0下编译的。当调试器加载程序集时,它会打印出它是在framework 4.0下编译的。。。那么谁是对的呢?我的framework 4.5的代码执行方法或告诉库的字符串在framework 4.0上?

我已经检查了我的能力,如果我的安装中有.targets文件,是的,在msbuild-targets临时文件夹下有两个,Microsoft.Common.targets和Microsoft.Csharp.targets,但我不知道这些文件是否迫使编译器使用框架4.0。主要是因为在这台机器上,我直接在visualstudio中编译。

我有几个使用组件库的解决方案,编译了4.5.2,可以正常工作。所以我真的不知道如何确保我的库是在正确的框架下编译的,并且库在其属性和加载时显示了正确的框架。

如果有人知道如何做到这一点,提前谢谢。

如果你的项目属性说你的目标是.NET 4.5.2,那么它是为使用.NET 4.5.2及更高版本而构建的。

也许您对CLR和Framework版本感到困惑。NET 4.x(任何)与CLR(即公共语言运行时)4.0配合使用。

请检查.NET Framework版本和依赖项以获取有关此主题的更多详细信息。

最新更新