-
유니티 버그 인 것 같다. 아직 고쳐지고 있지 않다. 유니티 에디터에서 play 후에 멈추고 나서 DLL 내용을 바꾸어서 다시 실행하면 바꾼 내용이 적용이 안된다. 심지어 DLL 파일이 삭제되더라도 마치 있는 것 처럼 동작한다. 이런 경우 DLL 파일을 교체해 주고, 유니티 에디터를 재시작 하면 변경된 DLL 내용이 적용된다.
c++ 로 DLL을 만들어서 유니티와 연동할 경우 개발 환경에서는 잘 돌아가다가 Build 한 상태에서 분명히 DLL 파일이 존재하고 있음에도 불구하고 "DLLNotFound Exception" 이 발생할 경우가 있다. 이럴 때 Build Settings -> Architecture에서 "x86"인지 아니면 "x86_64" 인지 확인 해 보자. DLL을 32비트로 컴파일 했을 경우 "x86"으로 셋팅해야 DLL을 로드 할 수 있다.
유니티에서 "using System.IO.Ports;" 이 동작하지 않는 경우 Edit -> Project Setting -> Player -> Api Compatibility Level을 ".NET 2.0 Subset" 에서 ".NET 2.0" 으로 바꾸어 준다.