2017-01-30 1 views
3

Mac OS Sierra에서 모노 4.6.2가 있습니다. 모노 4.8.0에서하나 이상의 i18n 어셈블리를로드 할 수 없습니다.

$ printenv PATH 
/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/Frameworks/Mono.framework/bin:/Library/Frameworks/Mono.framework/Versions/Current/lib/ 
+0

https://bugzilla.xamarin.com/show_bug.cgi?id=51650 – SushiHangover

+0

@SushiHangover, 나는 그것을 보았다 --cross-default 같은 않은 서명 가능한 실행 파일을 생성 할 것으로 보인다. 하지만 몇 가지 조치를 취한 후에 (예 : 모노 문제가있는 Unity 3D를 설치하는 것과 같이이 문제를 해결할 수는 없습니다) 제대로 작동합니다. 모노를 제거한 후 다시 설치하면이 오류가 발생합니다. 버그가 10 일 전에보고되었으며 Xamarin 지원에서 아무런 도움이 ... – Dzam

+0

최신 모노 4.8 미리보기 릴리스 (mono-4.8.0.472)를 사용해 볼 수 있습니다. http://www.mono-project.com/docs /about-mono/releases/4.8.0/#cross-compilation-with-mkbundle – SushiHangover

답변

3

mkbundle (현재의 것은 483 빌드)하지 않는 것 : 나는 번들이

mkbundle -o Test Test.exe 

처럼 만들려고 할 때 나는 오류가

Couldn't load one or more of the i18n assemblies. 

내 PATH가 기본적으로 SDK 디렉토리를 어셈블리 검색 경로에 포함 시키므로 i18n 어셈블리가 번들에 추가하려고 시도한 첫 번째 어셈블리를 찾지 못합니다.

은 간단하게이 문제를 해결 나는뿐만 아니라 4.6.2에, 모노 4.8에서이 문제를 볼

--sdk /Library/Frameworks/Mono.framework/Versions/Current 

주를 작동하려면 명령 줄에서 SDK 디렉토리를 지정,하지만 같은 수정 사항을 적용 할 수있다. 4.6.2에는 --sdk 옵션이없는 경우, 당신은 내가 제안 4.8.0와 함께이 문제를 해결하기 위해 --cross default를 사용하여 발견 다른 곳에서는

-L /Library/Frameworks/Mono.framework/Versions/Current/lib/mono/4.5 

-L 대신

를 사용하여 경로를 추가하는 시도 할 수 있었다, 하지만 codesign을 사용하여 서명 할 수없는 바이너리를 생성하는 것으로 보이지만, -L 옵션을 사용하면이 문제가 발생하지 않습니다. --sdk를 사용하는 것은 단지

+0

고맙다. --sdk를 사용하면 다른 오류가 있습니다. 'System.TypeInitializationException : 'Gtk.Container'의 형식 초기화 프로그램에서 예외가 발생했습니다. ---> System.DllNotFoundException : gtksharpglue-2' 어떻게 고칠 수 있습니까? – Dzam

관련 문제