我遇到了一个问题。我正在使用Amazon S3服务将文件上传到存储桶。这些文件确实上传了,但是,我遇到的问题是当我需要遍历我的代码时。当我到达AmazonS3Client客户端=新的AmazonS3Client()时,Visual Studio会抛出一个页面" Source Not Found",您需要找到AmazonS3Client.cs来查看当前调用堆栈帧的来源,然后建议我找到该文件或它试图让我在反汇编窗口中查看反汇编。这个代码没有多少,但我把它放在下面。另外,我在PutObjectRequest对象中遇到了同样的问题。我在web.config文件中列出了我的凭据以进行测试,但将在生产中移动一次。我也在下面列出了这一点。谢谢您的帮助。
<add key="AWSProfileName" value="myprofilename"/>
<add key="AWSRegion" value="us-east-1" />
<add key="AWSAccessKey" value="xxxxxxxxxxxxxxxxxx" />
<add key="AWSSecretKey" value="xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx" />
try
{
AmazonS3Client client = new AmazonS3Client();
PutObjectRequest request = new PutObjectRequest();
request.BucketName = "bucketname";
request.Key = filename;
request.FilePath = filepath;
client.PutObject(request);
}
catch (AmazonS3Exception ex)
{
throw ex;
}
答案 0 :(得分:1)
我从nuget sdk版本2(在我的案例中找不到“AWSCredentials.cs”)中获得了类似的行为。
在文件对话框中按取消,您将看到异常和堆栈跟踪(Visual Studio调用堆栈窗口)。在没有源文件作为参考的情况下,您无法看到出现故障的AWS行,但您可以遍历调用堆栈以查看代码的哪一行出错。
编辑:我查看了packages \ AWSSDK.2.3.53.0 \ lib,实际上nuget包中包含pdb文件和调试模式dlls但不是源代码。删除AWSSDK.pdb文件可以防止Visual Studio在调试会话期间查找AWSSDK源代码。答案 1 :(得分:0)
我发现了这个问题。来自NuGet的DLL是导致问题的原因。我已从Amazon的AWS SDK for .NET切换到dll。尽管他们的文档声明NuGet包始终是最新的,但必定存在问题。无论如何,谢谢你的帮助。