首页 > 解决方案 > 具有 4.7.2 目标框架版本的 C# 项目可以在 .net 4.6.1 上运行吗

问题描述

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

 <TargetFrameworkVersion>v4.7.2</TargetFrameworkVersion>

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

标签: c#.net.net-framework-version

解决方案


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

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

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


推荐阅读