'Amazon.S3.AmazonS3Client'的类型初始值设定项引发了异常

时间:2013-10-05 00:51:09

标签: c# .net deployment amazon-web-services amazon-s3

我一直致力于一个项目,我们使用 AWS S3 来存储文件,所有这一切都使用 AWS SDK 来实现 Visual Studio .NET < / strong>,当我意识到在生产服务器上部署应用程序访问AWS S3时,每次尝试创建/删除文件都失败,抛出的异常不是很明确,所以不知道如何解决问题。

这是我的C#代码

// Create a client
AmazonS3Client client = new AmazonS3Client();
// Create a GetObject request
GetObjectRequest request = new GetObjectRequest
{
   BucketName = MyBucketS3,
   Key = MyFileKeyS3
};

当应用程序执行时

Amazon S3 Client client = new AmazonS3Client();
抛出异常

    `The type initializer for 'Amazon.S3.AmazonS3Client' threw an exception`.

我的钥匙是正确的,从我当地的环境来看,他们的工作非常完美。 这是我的web.config文件的片段(使用虚拟键):

 <add key="AWSAccessKey" value="XXXXXXXXXXXXX" />
 <add key="AWSSecretKey" value="XXXXXXXXXXXXXXXXXXXXXXXXX" />

2 个答案:

答案 0 :(得分:0)

这并没有特别解决您的AmazonS3Client问题,但我要注意,在尝试使用适用于Windows PowerShell的AWS工具时,我看到了类似的初始化程序异常。特别是在试图运行时

import-module "C:\Program Files (x86)\AWS Tools\PowerShell\AWSPowerShell\AWSPowerShell.psd1"

和/或尝试执行类似

的命令时
Get-S3Bucket

然后我收到了类型初始值设定项错误。

就我而言,除了我已经安装的4.5版之外,修复是安装.NET框架的3.5版本。 (感谢Microsoft,Amazon和Amazon提供了这样一个有用的错误消息。)

答案 1 :(得分:0)

在Github中使用来自AWS .net的 AWS&#34; CognitoSync&#34; 的示例代码时遇到了同样的问题。

通过将Nugetcognito的{​​{1}}包升级到最新版本来解决问题 AWS core

猜测这个问题是由于不同的变量结构导致无法访问数据而发生的。