3

更新- 这确实仅在发布版本中失败,但仅在使用 LLVM 编译器选项时。为 Xamarin 创建一个独立的测试用例,我将作为答案发布。

我有一个使用 ServiceStack.Common.Monotouch.dll、ServiceStack.Interfaces.Monotouch.dll 和 ServiceStack.Text.Monotouch.dll 的项目。我可以在 Simulator/Release & Debug 和 iPhone/Debug 中构建这个项目,但是当我在 iPhone/Release 中构建时,我收到以下错误:

...
MONO_PATH=/Users/pseabury/Projects/IMDSS_iOS/IMDSSMobile_iOS/bin/iPhone/Release/IMDSSMobile_iOS.app /Developer/MonoTouch/usr/bin/arm-darwin-mono --llvm --aot=mtriple=armv7-darwin,full ,static,asmonly,nodebug,llvm-path=/Developer/MonoTouch/LLVM/bin/,outfile=/var/folders/mt/b7h3_pgs3lxgpvpm2h1_2ppc0000gn/T/tmp39b8b8c7.tmp/System.Data.dll.7.s "/Users /pseabury/Projects/IMDSS_iOS/IMDSSMobile_iOS/bin/iPhone/Release/IMDSSMobile_iOS.app/System.Data.dll"
AOT 编译以代码 134 退出,命令:
MONO_PATH=/Users/pseabury/Projects/IMDSS_iOS/IMDSSMobile_iOS/bin/iPhone/Release/IMDSSMobile_iOS.app /Developer/MonoTouch/usr/bin/arm-darwin-mono --llvm --aot=mtriple=armv7-darwin,full ,静态,asmonly,nodebug,llvm-path=/Developer/MonoTouch/LLVM/bin/,outfile=/var/folders/mt/b7h3_pgs3lxgpvpm2h1_2ppc0000gn/T/tmp39b8b8c7.tmp/ServiceStack.Text.MonoTouch.dll.7.s " /Users/pseabury/Projects/IMDSS_iOS/IMDSSMobile_iOS/bin/iPhone/Release/IMDSSMobile_iOS.app/ServiceStack.Text.MonoTouch.dll"
Mono Ahead of Time 编译器 - 编译程序集 /Users/pseabury/Projects/IMDSS_iOS/IMDSSMobile_iOS/bin/iPhone/Release/IMDSSMobile_iOS.app/ServiceStack.Text.MonoTouch.dll
* ../../../../../mono/mono/mini/mini-llvm.c:4535 处的断言,条件 `LLVMTypeOf (values [sreg1]) == LLVMTypeOf (values [phi->渣])'没有遇到
...
mtouch 以代码 1 退出

如有必要,我可以将一个示例项目放在一起,但您只需要最新的 ServiceStack dll 或 Monotouch 的源代码和一个用于 ServiceClient 的示例/设计的 DTO,以便重现它。

4

1 回答 1

1

提交给 Xamarin 的错误 - https://bugzilla.xamarin.com/show_bug.cgi?id=6066

于 2012-07-12T14:06:12.753 回答