简体   繁体   English

如果安装在安装了 .Net 4.6.2 的机器上,a.Net 4.6.1 将在哪个版本的 .Net 下运行?

[英]What version of .Net will a .Net 4.6.1 run under if installed on a machine that has .Net 4.6.2 installed?

A couple of us are having a discussion, specifically about this fix that was released in.Net 4.6.2:我们中的一些人正在讨论,特别是关于在.Net 4.6.2 中发布的这个修复:

We fixed the 260 character (MAXPATH) file name length limitation in the System.IO APIs.我们修复了 System.IO API 中的 260 个字符 (MAXPATH) 文件名长度限制。 Over 4500 of you voted for this issue on UserVoice!超过 4500 人在 UserVoice 上为这个问题投票!

source 资源

We're getting this exception in an application that is installed on clients, around this problem.我们在客户端上安装的应用程序中遇到此异常,解决此问题。 We do not control the.Net version installed on these clients though our installer specifies a minimum version,at least.Net 4.6.1 (soon to be upgraded).我们不控制安装在这些客户端上的 .Net 版本,尽管我们的安装程序指定了最低版本,至少是 .Net 4.6.1(即将升级)。

So if our application is running as 4.6.1 we get this problem, if it's running as >4.6.2 we don't.因此,如果我们的应用程序以 4.6.1 运行,我们会遇到这个问题,如果它以 >4.6.2 运行,我们不会。

Our application targets the.Net 4.6.1, so I said we need to upgrade, as we're hitting this problem, a colleague said that:我们的应用程序针对.Net 4.6.1,所以我说我们需要升级,因为我们遇到了这个问题,一位同事说:

anyone with a newer version of.Net wouldn't hit this problem任何拥有较新版本的.Net 的人都不会遇到这个问题

I said this is wrong, the assembly would still run as 4.6.1 not 4.6.2.我说这是错误的,程序集仍将作为 4.6.1 而不是 4.6.2 运行。 I think I based this on a article I read some time ago by Scott Hansellman but this was specifically about older (pre 4.5 versions of.Net).我想这是基于我前段时间由 Scott Hansellman 阅读的一篇文章,但这是专门针对较旧的(.Net 4.5 之前的版本)。 So now I'm not sure if I'm correct or not:所以现在我不确定我是否正确:

In-place upgrade means that the CLR is the same but new libraries are added as well as bug fixes and performance improvements就地升级意味着 CLR 相同,但添加了新库以及错误修复和性能改进

在此处输入图像描述

So given an application that is compiled against 4.6.1 that accesses a long file path on a machine with.Net 4.6.2 installed would we get an exception or not?因此,假设一个针对 4.6.1 编译的应用程序访问安装了 .Net 4.6.2 的机器上的长文件路径,我们是否会遇到异常?

From the offline installer download for .NET 4.6.2 (emphasis mine):.NET 4.6.2(强调我的)的离线安装程序下载

The Microsoft .NET Framework 4.6.2 is a highly compatible in-place update to the Microsoft .NET Framework 4, 4.5, 4.5.1, 4.5.2, 4.6, and 4.6.1. Microsoft .NET Framework 4.6.2 是对 Microsoft .NET Framework 4、4.5、4.5.1、4.5.2、4.6 和 4.6.1 的高度兼容的就地更新

The "in-place" part means that it effectively replaces the previous versions. “就地”部分意味着它有效地替换了以前的版本。 At least, that's my understanding of it.至少,这是我对它的理解。 So when you run a .NET 4.x application on a machine which has 4.6.2 (and nothing later) installed on it, it will run under 4.6.2.因此,当您在安装了 4.6.2(以后没有)的机器上运行 .NET 4.x 应用程序时,它将在 4.6.2 下运行。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 默认情况下安装的.NET版本是什么? - What is the .NET version installed by default? 为什么安装了.NET 4的计算机无法运行针对.NET 4.5的exe,而如果它们使用相同的CLR版本? - Why a machine with .NET 4 installed on it cannot run an exe that targeted .NET 4.5 while if they use the same CLR version? 我可以在安装了 .net 4.7 的机器上运行 .net 4.7.2 目标应用程序吗? - Can I run .net 4.7.2 targeted application on machine which has .net 4.7 installed? 安装了哪个版本的.NET Core SDK - What version of the .NET Core SDK is installed Silverlight是否可以检测客户端计算机上安装的.NET Framework版本? - can silverlight detect which version of .NET framework installed on client machine? 使用我的计算机上安装的每个.NET版本获取程序列表 - Get list of programs using each .NET version installed on my machine 从asp.net检测客户端机器上是否安装了应用程序? - detect if an application has installed on the client machine from asp.net? 检查是否安装了完整版的.net? - Check if full version of .net is installed? c#编译的应用程序可以在没有安装.net的机器上运行吗? - Can c# compiled app run on machine where .net is not installed? 该主机上安装了哪个.NET版本? - Which .NET Version is installed on this host?
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM