I. 소개
최근에는 Unity에서 Excel을 읽을 때 발생할 수 있는 거의 모든 문제에 직면했습니다.
저는 unity5.4를 사용하고 있는데 여전히 32비트이기 때문입니다. 따라서 다양한 문제가 불가피합니다.
더 이상 고민하지 않아도 기존 현상은 유니티 에디터에서는 완벽하게 실행되고 엑셀을 읽는 데는 문제가 없지만, exe로 패키징한 후 해당 경로 아래의 엑셀 표를 읽을 수 없다는 것입니다.
2. 솔루션
첫 번째 유형은 해결할 수 없습니다.
스크립트에서 파일 경로를 사용하는 경우 Application.dataPath 대신 Application.streamingAssetsPath를 사용해 보세요.
Application.streamingAssetsPath exe로 패키징한 후에도 종속 폴더에 그대로 남아 있어 정상적으로 로드가 가능합니다
. Application.dataPath가 exe 파일로 패키징된 후 해당 파일이 손실될 수 있습니다!위의 방법은 인터넷에서 찾았으나 문제가 해결되지 않았습니다.
두 번째 방법으로 문제를 해결할 수 있습니다.
패키징 후 엑셀을 읽을 수 없는 이유는 다음 DLL이 없기 때문입니다.
이 DLL을 패키지 폴더에 넣으십시오.
특정 폴더의 경로는 아래와 같이 패키지된 데이터 파일의 관리되는 폴더입니다.
관리되는 폴더에는 많은 dll이 있지만 위에서 스크린샷한 dll이 누락되었습니다. 이러한 DLL을 찾을 수 있는 링크를 보내드리겠습니다. 링크는 다음과 같습니다: https://download.csdn.net/download/alayeshi/88353987
이러한 방식으로 패키지된 exe 프로그램은 Excel의 내용을 읽을 수 있습니다.
3. 효과 표시
4. 확장
유니티 패키지에는 dll이 없기 때문에 이러한 dll을 유니티 에디터의 설치 디렉터리에 직접 넣을 수 있습니다. 예를 들어 내 유니티 설치 경로는 다음과 같습니다.
D:\Program Files (x86)\Unity\Editor\Data\Mono\lib\mono\unity
누락된 모든 DLL을 이 디렉터리 폴더에 복사하면 다음에 패키지할 때 이러한 DLL을 가져올 수 있습니다.
이론적으로는 이와 같아야 하지만 아직 테스트해 보지 않았습니다. 이것이 가능하지 않은 경우 위의 방법을 사용하고 dll을 패키지된 데이터 파일의 Managed 폴더에 직접 복사하십시오.
--------------
어떤 사람들은 빌드할 때 오류가 발생하기도 합니다. 이 오류는 프로젝트의 dll이 .net2.0을 사용해야 하기 때문에 발생합니다.
아래와 같이 패키징 설정에서 2.0으로 설정하면 됩니다.