Skip to content

does coreclr support ios platform? #100055

Closed

Description

@newNcy
No description provided.

Activity

  1. ghost added
    needs-area-labelAn area label is needed to ensure this gets routed to the appropriate area owners
    on Mar 21, 2024
  2. huoyaoyuan commented on Mar 21, 2024

    @huoyaoyuan
    Member

    The ordinal coreclr runtime requires JIT and won't be available on iOS-like platforms.

    There are coreclr-compatible Mono runtime in this repo supporting iOS. The NativeAOT variant of coreclr also starts experimental support for iOS. The .NET Core platform supports iOS.

  3. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    我的场景是ios上 c++引擎嵌入c#运行时,不过还在调研,基本需求是 -多个实例 -热更新 -导入导出c++接口
    试了下mono发现不能多个实例,才想看看coreclr, 有推荐的吗

  4. huoyaoyuan commented on Mar 21, 2024

    @huoyaoyuan
    Member

    目前所有CLR实现都不支持单进程内多个实例,AssemblyLoadContext可能可以部分满足需求。
    NativeAOT是不会支持热更新的,只有启用解释器的Mono可能可以,但是是否启用了相关API也不确定。

  5. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    目前所有CLR实现都不支持单进程内多个实例,AssemblyLoadContext可能可以部分满足需求。 NativeAOT是不会支持热更新的,只有启用解释器的Mono可能可以,但是是否启用了相关API也不确定。

    mono试了可以热更,不过对alc支持不完善,基本不可用感觉
    #79711

  6. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    还有别的办法能实现 B C两个DLL都引用了A DLL,但是互相隔离的嘛 哪怕是静态变量这种

  7. srxqds commented on Mar 21, 2024

    @srxqds
    Contributor

    mono的alc是不行的,要自己改虚拟机,mono的开发比较坑

  8. srxqds commented on Mar 21, 2024

    @srxqds
    Contributor

    @huoyaoyuan 我一直跟进mono的嵌入开发5年多了,坑特别多,有没有什么渠道可以反馈下,让官方重视下吗?

  9. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    mono的alc是不行的,要自己改虚拟机,mono的开发比较坑

    不能并行的话有没有前一个用了清理一下重新加载的方法

  10. srxqds commented on Mar 21, 2024

    @srxqds
    Contributor

    不能,bug很多

  11. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    不能,bug很多

    好吧 谢谢

  12. huoyaoyuan commented on Mar 21, 2024

    @huoyaoyuan
    Member

    我一直跟进mono的嵌入开发5年多了,坑特别多,有没有什么渠道可以反馈下,让官方重视下吗?

    Mono部分人手不多,代码结构也区别很大。我个人没有深入研究过Mono代码,不好断言工作量多大,但不排除巨坑的可能。
    目前阶段官方对Android/iOS的工作主要是把CoreCLR的NativeAOT适配过去。

  13. srxqds commented on Mar 21, 2024

    @srxqds
    Contributor

    像这种必现的问题:#98805 官方也没有动力去修复,都是懒得去验证

  14. am11 commented on Mar 21, 2024

    @am11
    Member

    Not yet: #98127

  15. 11 remaining items

  16. newNcy commented on Mar 21, 2024

    @newNcy
    Author

    @newNcy 感受下他们的bug: #100065 总而言之,官方没有实际用过的,即使他们说的是支持的,也不能信任

    阿这,我mono用alc.Unload() 静态容器里的东西也没清理掉 难绷

  17. srxqds commented on Mar 21, 2024

    @srxqds
    Contributor

    你可以理解为他们这个完全没实现就行了,是完全
    因为他们把collectiable直接设置为false了

  18. filipnavara commented on Mar 21, 2024

    @filipnavara
    Member

    Not yet: #98127

    Notably, that is support strictly for the iOS Simulator. It is not meant to handle anything else. It is purely a way to have faster debug loop for apps that you intend to run with NativeAOT. The JIT restrictions for dynamic code still apply to device deployments and hence CoreCLR cannot be used there.

  19. lambdageek commented on Mar 22, 2024

    @lambdageek
    Member

    What's the status of NativeAOT-Mint experiment?

    I think @lambdageek, @ivanpovazan maybe able to answer this. It seems like interest is building up with the increase in NativeAOT usage. :)

    NativeAOT-Mint was a quick hackathon experiment designed to answer the question: "Is it possible to retarget the Mono Interpreter on top of another .NET runtime, or is it too dependent on Mono's underlying implementation." The answer from the experiment was "yes, it is possible, but NativeAOT is not the right runtime - the amount of work to make NativeAOT support dynamic code execution is too great". So what about Mint in CoreCLR? That's an interesting future experiment. At this time there are no plans, but it's something we've thought about.

  20. newNcy commented on Mar 22, 2024

    @newNcy
    Author

    你可以理解为他们这个完全没实现就行了,是完全 因为他们把collectiable直接设置为false了

    这个作用范围是整个alc吗

  21. srxqds commented on Mar 22, 2024

    @srxqds
    Contributor

    你可以理解为他们这个完全没实现就行了,是完全 因为他们把collectiable直接设置为false了

    这个作用范围是整个alc吗

    对,就是内部直接设置了false,即使脚本设置为true

  22. newNcy commented on Mar 22, 2024

    @newNcy
    Author

    你可以理解为他们这个完全没实现就行了,是完全 因为他们把collectiable直接设置为false了

    这个作用范围是整个alc吗

    对,就是内部直接设置了false,即使脚本设置为true

    确实,临时变量都没gc,估计有bug就直接false了

  23. newNcy commented on Mar 22, 2024

    @newNcy
    Author

    目前所有CLR实现都不支持单进程内多个实例,AssemblyLoadContext可能可以部分满足需求。 NativeAOT是不会支持热更新的,只有启用解释器的Mono可能可以,但是是否启用了相关API也不确定。

    还有别的clr可选嘛

  24. huoyaoyuan commented on Mar 23, 2024

    @huoyaoyuan
    Member

    目前所有CLR实现都不支持单进程内多个实例,AssemblyLoadContext可能可以部分满足需求。 NativeAOT是不会支持热更新的,只有启用解释器的Mono可能可以,但是是否启用了相关API也不确定。

    还有别的clr可选嘛

    .NET Framework,.NET Core的实现都是如此

  25. newNcy commented on Mar 25, 2024

    @newNcy
    Author

    coreclr没有解释模式吗

  26. huoyaoyuan commented on Mar 25, 2024

    @huoyaoyuan
    Member

    coreclr没有解释模式吗

    目前处于无人维护的状态,仅限入门级程序可以跑通。mono的解释器一直都有维护,Mint的试验是将其对接到coreclr或NativeAOT上。

  27. newNcy commented on Mar 25, 2024

    @newNcy
    Author

    coreclr没有解释模式吗

    目前处于无人维护的状态,仅限入门级程序可以跑通。mono的解释器一直都有维护,Mint的试验是将其对接到coreclr或NativeAOT上。

    说起来mono aot跟native aot的区别主要在哪,native代码的多少吗

  28. locked and limited conversation to collaborators on Jul 9, 2024
  29. converted this issue into a discussion #104601 on Jul 9, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    area-MetaquestionAnswer questions and provide assistance, not an issue with source code or documentation.

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions