1
Windows에서 .net의 응용 프로그램을 Mac의 mono로 변환합니다. 나는 백 슬래시가 모노 - 맥에서 어떻게 해석되는지와 관련된 것으로 생각되는 오류를 발견했다.Mac의 모노에서 .net Windows 버전과 다른 경로 해석이 사용됩니까?
Path.GetDirectoryName("Assembly\\file.dll")
"assembly"를 반환하는 .net 창에서 빈 문자열을 반환하는 mac의 경우. 정상적인 행동인가요? 경로가 일종의 구성으로 해석되는 방식을 변경하거나 모든 백 슬래시를 전달 슬래시로 교체해야합니까? 만약 경로 등의 차이를 무시 MONO_IOMAP
환경 변수를 사용하여 모노에
플랫폼 별 구분 기호를 사용해야 할 가능성이 높습니다. http://msdn.microsoft.com/en-us/library/system.io.path.directoryseparatorchar%28vs.110%29.aspx – xxbbcc
@xxbbcc 분명히 옳습니다. 문제는 SharpZipLib 라이브러리를 사용하여 발생합니다. ZipEntry 객체는 운영 체제가 실행중인 계정을 고려하지 않고 백 슬래시로만 경로를 만듭니다. Path.DirectorySeparatorChar의 값을 대신 사용하여 이러한 경로를 처리 할 것입니다. – mjsr
.NET 용 다양한 라이브러리는 Windows 이외의 플랫폼 용으로 작성되지 않았을 수 있습니다. SharpZipLib에 대해서는 잘 모릅니다 만 라이브러리가 특정 구분 기호를 하드 코드하면 모든 종류의 파일 시스템 문제가 발생할 수 있습니다. – xxbbcc