我一直致力于一个项目,我们使用 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" />
答案 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; 的示例代码时遇到了同样的问题。
通过将Nuget
和cognito
的{{1}}包升级到最新版本来解决问题
AWS core
。
猜测这个问题是由于不同的变量结构导致无法访问数据而发生的。