Windows 10およびWindows Server 2016では、従来のLong Pathの問題に対するソリューションが導入されています。解決策は実装が簡単で、次のblog投稿で非常によく詳しく説明されています。手順に従うと、.NETコンソール/デスクトップアプリケーションで正常に動作します。しかし、何らかの理由で、ASP.NET Webアプリケーションから同じコードを実行すると、私はまだ同じ古典的なものが得られますSystem.IO.PathTooLongException
例外がスローされます.NET System.IO.PathTooLongException Webアプリケーション
コードは:
私が言及したようDirectory.CreateDirectory(longPath);
、コードは、コンソールアプリケーションで正常に動作しますが、ASP.NETのWebサイトのアプリケーションに障害が発生しました。ウェブサイトの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