【发布时间】:2020-03-17 14:04:51
【问题描述】:
我们中的几个人正在讨论,特别是关于 .Net 4.6.2 中发布的这个修复:
我们修复了 260 个字符 (MAXPATH) 的文件名长度限制 System.IO API。超过 4500 人为此问题投票 用户之声!
我们在客户端上安装的应用程序中遇到此异常,以解决此问题。我们不控制安装在这些客户端上的 .Net 版本,尽管我们的安装程序指定了最低版本,至少是 .Net 4.6.1(即将升级)。
因此,如果我们的应用程序以 4.6.1 运行,我们会遇到此问题,如果它以 >4.6.2 运行,则不会。
我们的应用程序针对.Net 4.6.1,所以我说我们需要升级,因为我们遇到了这个问题,一位同事说:
任何拥有较新版本 .Net 的人都不会遇到这个问题
我说这是错误的,程序集仍将作为 4.6.1 而不是 4.6.2 运行。我想我是基于article I read some time ago by Scott Hansellman 的,但这是专门针对较旧的(.Net 4.5 之前的版本)。所以现在我不确定我是否正确:
就地升级意味着 CLR 是相同的,但新库是相同的 添加以及错误修复和性能改进
因此,假设一个针对 4.6.1 编译的应用程序访问安装了 .Net 4.6.2 的机器上的长文件路径,我们是否会遇到异常?
【问题讨论】:
-
你同事说的没错,你只指定最低版本,用安装的版本运行。但是请记住仍然看到错误是多么不寻常,很少有用户会卡在 4.6.1 上,它太旧了。他们将不得不故意禁用 Windows 更新,强迫他们更新不太可能得到赞赏。启用长路径支持不仅仅针对更高版本,用户还必须选择加入。
-
这是一个很好的观点,我想知道为什么会出现这个错误@HansPassant
-
好吧,他们是否运行 Win10 并将其配置为允许长路径支持?您可能应该将问题中的最后一句话移到前面,我怀疑乔恩看到了它。
标签: .net compatibility .net-framework-version .net-4.6.1 .net-4.6.2