【问题标题】:Failed to create AmazonGameLiftClient in Unity3d在 Unity3d 中创建 AmazonGameLiftClient 失败
【发布时间】:2018-12-20 15:30:23
【问题描述】:

我使用以下代码在 Unity3d 中创建 GameClient:

AmazonGameLiftClient client = 
        new AmazonGameLiftClient("accessKeyId",
                                 "accessKey",
                                  RegionEndpoint.CNNorth1);

以上代码是 Awake() 中的第一行,没有任何其他前导代码。

我得到以下错误:

NullReferenceException: Object reference not set to an instance of an object
Amazon.CSMSection.get_CSMEnabled ()
Amazon.Util.CSMConfig.Configure (Amazon.CSMSection section)
Amazon.Util.Internal.RootConfig..ctor ()
Amazon.AWSConfigs..cctor ()
Rethrow as TypeInitializationException: An exception was thrown by the type initializer for Amazon.AWSConfigs
Amazon.Runtime.ClientConfig..ctor ()
Amazon.GameLift.AmazonGameLiftConfig..ctor ()
Amazon.GameLift.AmazonGameLiftClient..ctor (System.String awsAccessKeyId, System.String awsSecretAccessKey, Amazon.RegionEndpoint region)

有什么我忘了做的吗? 我认为根本原因是我没有将 app.config 放在正确的位置。 所以 AWS SDK 没有正确初始化,但是我还没有找到任何使用 Unity3d 作为 Amazon GameLift 客户端的教程 :(

我的环境:

  • 操作系统:Mac OS X 10.14.1
  • Unity3d:2018.2.12f1
  • AWS 开发工具包核心:3.3.29.10(.net35)
  • AWS 开发工具包 GameLift:3.3.12.29(.net35)

更新: AWS SDK 依赖于 System.ConfigurationManager,这在 Unity3d 项目中似乎不可用。这似乎是 NullReferenceException 的根本原因。

【问题讨论】:

  • 首先,错误给出了调试它的所有细节。其次,谷歌会给你答案。这将帮助您理解问题 -> stackoverflow.com/questions/4660142/…
  • 这似乎是一个配置问题;请提供以下详细信息:命名您正在使用的 AWS 开发工具包 nuget 包以及它们所在的版本。命名您使用的 .NET 框架及其版本。在此之前的任何其他相关代码或您对到目前为止执行的 AWS 开发工具包所做的任何其他引用也将有助于上下文。在此期间,请确保您为您的框架使用正确的 AWS 开发工具包,并且它们是最新版本。还要确保您使用的是正确的 AccessKey/SecretKey。
  • @AnthonyNeace 你是对的。应该是配置问题。我不知道将 app.config 放在 Unity3d 项目中的哪个位置。我正在努力弄清楚。
  • 我在升级 aws sdk 后也遇到了这个问题。 @AnthonyNeace 这是 api 的入口点。您在让客户端执行其他操作之前进行配置,因此没有其他上下文。卡布拉的评论也很肤浅,没有帮助。此 NRE 发生在配置类的默认构造函数中,因此现在必须进行某种不明显的外部设置。也许某种工厂方法?

标签: amazon-web-services unity3d aws-sdk aws-sdk-net amazon-gamelift


【解决方案1】:

请参考这个answer,它完全解决了这个问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-03
    • 2011-04-20
    • 2018-12-03
    相关资源
    最近更新 更多