Windows 10和Windows Server 2016为传统的Long Path问题引入了解决方案。该解决方案很容易实现,并在以下blog文章中详细介绍。以下步骤可成功完成.NET控制台/桌面应用程序。但是,出于某种原因,从ASP.NET Web应用程序运行相同的代码时,我仍然遇到相同的经典System.IO.PathTooLongException
异常。来自Web应用程序的.NET System.IO.PathTooLongException
抛出异常的代码:
Directory.CreateDirectory(longPath);
正如我提到,代码成功运行在控制台应用程序,但在ASP.NET网站应用程序失败。网站web.config包含以下内容:
<?xml version="1.0"?>
<configuration>
<runtime>
<AppContextSwitchOverrides value="Switch.System.IO.UseLegacyPathHandling=false;Switch.System.IO.BlockLongPaths=false"/>
</runtime>
</configuration>
和应用程序清单文件,如上面的博客链接中所述。
任何想法赞赏。
相关,HTTPS的可能重复: //stackoverflow.com/questions/40722086/uselegacypathhandling-is-not-loaded-properly-from-app-config-runtime-element看起来像在链接问题中有一个解决方法。 – bradbury9
[UseLegacyPathHandling没有从app.config运行时元素正确加载](https://stackoverflow.com/questions/40722086/uselegacypathhandling-is-not-loaded-properly-from-app-config-runtime-element) – bradbury9
谢谢@ bradbury9,它解决了POC上的问题。但是,基于.NET 4.5.1的生产项目没有'AppContext'类来应用解决方案。任何想法? – shimiz