C# 在Amazon S3 put请求(request.AddHeader)上设置过期标头时发生AppHarbor生成错误
将.NETAmazonSDK添加到我的项目中,并且能够在本地服务器和服务器上毫无问题地将图像上传到AmazonS3 然后,我添加了这一行以设置上传到S3时的过期标头:C# 在Amazon S3 put请求(request.AddHeader)上设置过期标头时发生AppHarbor生成错误,c#,asp.net,.net,amazon-s3,appharbor,C#,Asp.net,.net,Amazon S3,Appharbor,将.NETAmazonSDK添加到我的项目中,并且能够在本地服务器和服务器上毫无问题地将图像上传到AmazonS3 然后,我添加了这一行以设置上传到S3时的过期标头: request.AddHeader("Expires", DateTime.Now.AddYears(10).ToString("r")); 这在我的本地服务器上运行得很好,正确地设置了S3上的Expires头 但当我将此代码推送到AppHarbor时,会出现以下生成错误: error CS1061: 'Amazon.S3.Mo
request.AddHeader("Expires", DateTime.Now.AddYears(10).ToString("r"));
这在我的本地服务器上运行得很好,正确地设置了S3上的Expires头
但当我将此代码推送到AppHarbor时,会出现以下生成错误:
error CS1061: 'Amazon.S3.Model.PutObjectRequest' does not contain a definition for
'AddHeader' and no extension method 'AddHeader' accepting a first argument of type
'Amazon.S3.Model.PutObjectRequest' could be found (are you missing a using directive or
an assembly reference?)
非常感谢你的帮助 您应该尝试下载生成输出并在本地IIS中运行,以验证引用是否有效,是否用于更正AWS SDK版本。在我的本地IIS中似乎运行良好。有什么特别的我应该检查的吗?一定是因为您的代码在本地机器上运行的AWS SDK版本与在AppHarbor上运行的不同。我猜您已经在本地计算机上添加了1.4版本,但是您正在将版本<1.4的dll推送到AppHarbor。我可以确认AddHeader()在v1.2中不存在(只有AddHeaders())。是的,从AppHarbor返回的AWS.dll是1.0.14。不知道AppHarbor是如何做到这一点的——这个版本在我的本地机器上任何地方都不存在(两周前才第一次将v.1.4 SDK下载到我的机器上)。我会弄清楚的,然后回来。谢谢你!仍然无法确切地了解到底发生了什么-但是现在回到addHeaders()肯定是可行的。