【问题标题】:Code Stripping Errors Unity代码剥离错误 Unity
【发布时间】:2014-04-21 11:28:31
【问题描述】:

我为 Unity3d 制作了一个单声道的小型 C# 库作为插件,以便其他开发人员可以使用该 dll 文件并开始使用它进行编码。图书馆很好。但是在构建统一时会出现此错误 UnityException: Failed assembly stripper:

可能是什么原因。在一些线程中,我发现禁用代码剥离,将调用优化设置为缓慢且安全,甚至使用.Net Subset

我的播放器设置如下。

答案如前所述。但我想要的是在我的播放器设置中拥有自己的 dll。因为我已经看到许多第三方库或 dll 在我的播放器设置下可以 100% 正常工作。例如 Prime31​​strong>、Neatplug 以及统一资产商店中的更多插件。

如果您有任何解决方案,请告诉我。

在创建库项目时,我已按照Unitys Dll tutorial 中提到的步骤进行操作

【问题讨论】:

    标签: c# dll mono unity3d


    【解决方案1】:

    这很可能来自设置 .NET 2.0 子集。您的插件很可能需要使用子集构建时不会出现的功能。请参阅此链接和以下引用:http://docs.unity3d.com/Manual/ReducingFilesize.html

    “为避免内存浪费,Unity 还支持 .NET 2.0 Subset API 配置文件。这与 Mono “monotouch”配置文件非常相似,因此“monotouch”配置文件的许多限制也适用于 Unity 的 .NET 2.0 Subset 配置文件. (更多关于“monotouch”配置文件的限制信息可以在这里找到:http://developer.xamarin.com/guides/ios/advanced_topics/limitations/)。为了节省内存,许多游戏中不常用的库例程被排除在此配置文件之外。然而,这也意味着依赖于这些例程的代码将无法正常工作。此选项可能是一个有用的优化,但您应该检查现有代码在应用后是否仍然有效。"

    从您的问题看来,您似乎已尝试将其设置为正常的 .NET 2.0 并且运行良好,因此您需要保留该设置,或删除对未包含在子集。

    【讨论】:

      【解决方案2】:

      在我的情况下,问题是 Nullable 类型。我正在使用这样的东西:

      var i = Math.Max(1, SomeClass.NullableProperty ?? DefaultValue);
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2012-12-23
        • 2015-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多