[英]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 上为这个问题投票!
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.