2012-02-03 12 views
3

.NET Amazon SDKがプロジェクトに追加され、ローカルサーバーとAppHarborの両方で問題なくAmazon S3に画像をアップロードできました。Amazon S3 put要求(request.AddHeader)で有効期限ヘッダーを設定すると、ビルドエラーが発生する

は、その後、私はS3へのアップロード時に有効期限ヘッダーを設定するには、この行を追加:

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?) 

非常にありがとうを!

答えて

1

AppHarborビルド出力をダウンロードしてローカルIISで実行し、参照が機能していることを確認し、AWS SDKのバージョンを修正する必要があります。

+0

ローカルIISでうまく動作しているようです。私がチェックしなければならない特別なものは何ですか? – Gabe

+1

あなたのコードはAppHarborとは違って、あなたのローカルマシンのAWS SDKの異なるバージョンで動作するからです。私の推測では、あなたのローカルマシン上で1.4バージョンをgacしていますが、バージョン1.4未満のdllをAppHarborにプッシュしています。 AddHeader()がv1.2に存在しないことを確認できます(AddHeaders()のみ)。 – friism

+0

Yup - AppHarborから戻って来るAWS .dllは1.0.14です。どのバージョンがAppHarborになるのか分かりません。そのバージョンはローカルマシンのどこにも存在しません(v。1.4 SDKを2週間前に初めてマシンにダウンロードしました)。私はそれを理解して戻ってきます。ありがとうMF! – Gabe

関連する問題