2017-11-06 22 views
0

웹 응용 프로그램에서 긴 경로 지원을 사용하려고합니다. 나는 명령어 here을 따라 왔고 간단한 콘솔 앱에서 긴 경로를 사용할 수있었습니다. 동일한 개념을 웹 응용 프로그램 (app.config 대신 web.config 사용)으로 변환하면 System.IO가 다음 예외를 제외하고 폭발합니다.웹 응용 프로그램에서 긴 경로 활성화

at System.IO.PathHelper.GetFullPathName() at System.IO.Path.LegacyNormalizePath(String path, Boolean fullCheck, Int32 maxPathLength, Boolean expandShortPaths) at System.IO.Path.GetFullPathInternal(String path) at System.IO.DirectoryInfo.Init(String path, Boolean checkHost)

내가 웹 응용 프로그램 및 콘솔 응용 프로그램에서 모두 실행하고 코드의 라인은 모두 System.IO를 사용하고 있기 때문에 나는이 문제가 될 수 이해 해달라고

Dim dirInfo As New DirectoryInfo("\\fileserver\systems\devFramework\Deploy\DEV\11424495\Rollback_1314799492608780699\Rolloutsuperdupersongpathtestasdfasdfaasdfasasdfasadsfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdfadsfasdfasdfasdfasdfasdfasddfasdfasdfasfasdfasdfasdfasdfasdfasdfasdfasdfasdfasdftestadditionalcharacters") 

입니다. here

아무것도 작동하는 것 같다없는 설명 된 바와 같이 나는 또한

 System.AppContext.SetSwitch("Switch.System.IO.UseLegacyPathHandling", False) 
    System.AppContext.SetSwitch("Switch.System.IO.BlockLongPaths", False) 

사용하여 코드에 스위치를 추가하는 시도했습니다. 모든 조언을 크게 주시면 감사하겠습니다.

답변

0

그래서 이전 .NET (4.5.1 버전) 버전의 기존 응용 프로그램을 .NET 4.6.2로 업그레이드했습니다. 어떤 이유로 .NET 4.6.2를 목표로하는 새로운 웹 응용 프로그램을 만들 때 모든 것이 예상대로 작동했습니다. 나는 되돌아 가서 프로젝트 파일들을 서로 비교해 보았고 그 원인은 무엇보다 두드러졌다.

승 10 주년 기념 업데이트도 문제를 일으키는 것으로 보입니다. 이 페이지를 방문하면 this도 확인해 주시면이 문제를 해결하는 데 도움이됩니다.