2017-01-30 55 views
3

我在Mac OS Sierra上有單聲道4.6.2。當我試圖讓束這樣無法加載一個或多個i18n程序集

mkbundle -o Test Test.exe 

我有錯誤

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

我的道路:

$ 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,我已經看到它了。但經過一些行動(不是爲了解決這個問題,例如安裝與單聲道開發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在單4.8.0(作爲構建483)似乎並不在默認情況下將SDK目錄包含在程序集搜索路徑中,因此無法找到i18n程序集,因爲它們是第一個嘗試添加到程序包中的程序集。

只需在命令行指定的SDK目錄來解決這個問題

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

請注意,我只看到單聲道4.8這個問題,而不是4.6.2,但相同的修復可以適用。如果在4.6.2沒有--sdk選項,那麼你可以嘗試添加使用-L代替

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

在其他一些地方的道路,我發現建議使用--cross default來解決這個問題有4.8.0,但似乎會生成無法使用編碼簽名的二進制文件,而使用-L選項不存在此問題。使用--sdk似乎產生一個不可簽名的可執行文件,就像--cross-default

+0

謝謝。 使用--sdk,我有其他錯誤 'System.TypeInitializationException:'Gtk.Container'的類型初始值設定項引發異常。 ---> System.DllNotFoundException:gtksharpglue-2' 我該如何解決它? – Dzam

相關問題