Проблема не имеет ничего общего со «старыми dll, устаревшими зависимостями» и т. Д. c. Если вы посмотрите на пример, которому следуете, они не пытаются вызвать ctor по умолчанию, а вместо этого инициализируют его через область ведра .
Если вы посмотрите на Простое кроссплатформенное приложение, использующее AWS SDK для. NET (или даже в документации внутри IDE, которую вы используете), вы можете видеть, что когда используется ctor по умолчанию, вы необходимо:
Перед запуском этого приложения учетные данные должны быть указаны либо в профиле [по умолчанию], либо в другом профиле, а затем путем установки переменной среды AWS_PROFILE. Регион должен быть указан либо в профиле [по умолчанию], либо путем установки переменной среды AWS_REGION.
В документации также говорится, что можно использовать App.config.
Но поскольку мы будем использовать его для Xamarin, будет намного проще использовать некоторые другие перегрузки. Вот некоторые из них:
Допустим, вы хотите использовать AWSCredentials
для создания своего клиента. Опять же, у вас есть много вариантов:
NB: при инициализации клиента рекомендуется указывать RegionEndpoint
. В большинстве случаев, если вы забудете, вы получите AmazonClientException: No RegionEndpoint or ServiceURL configured
, так что он будет напоминать вам, что это необходимо.
Изменить: из-за обновления в вашем вопросе, вот обновление от меня: те же правила применяются для там ctors, с которыми вы пробовали. Они ищут учетные данные в файлах конфигурации, которых нет в приложении Xamarin.Forms. Чтобы использовать клиент, он должен знать свои учетные данные. Если вам нужно использовать клиент, то укажите ему некоторые учетные данные во время инициализации - используйте либо другие AWSCredentials - Basic
, Federated
, et c, либо простой - с accessKeyId
+ accessKey
.
Если вам интересно, почему ctors, которые вы пробовали, не работают, или что они делают за кулисами, их SDK находится в открытом доступе здесь . Пустой код ctor здесь и более интересный FallbackCredentialsFactory
здесь .