.net 4.6.1 上具有 4.7.2 目标框架版本 运行 的 C# 项目可以吗

Can C# projects that have 4.7.2 target framework version run on .net 4.6.1

我们有一个 C# 项目,其中的 C# 项目是使用 TargetFrameworkVersion 4.7.2 编译的。例如,在 csproj 文件中指定 --

 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

编译生成的exe安装在安装了.net 4.6.1的虚拟机中。我看到安装成功,软件运行良好。所以我们可以肯定地说,使用 4.7.2 构建的项目可以在安装 .netframework 4.6.1 时执行。或者这里有什么需要注意的问题吗?

您可以在 app.config 文件中使用 supportedRuntime 元素,例如

<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1"/>
    </startup>
</configuration>

这是可能的,因为它们共享相同的 CLR 4.0 版。但是,如果使用 .NET 4.7.2 中的任何特定功能,您可能会遇到运行时异常。查看 this 线程了解更多详情