Last Updated: Sep 28, 2017

The latest .NET SDK

Environment requirements:

  • Windows

    • .NET Framework 2.0 and above
    • A registered user account on Aliyun.com
  • Linux/Mac

    • Mono 3.12 and above

Assembly: Aliyun.OSS.dll

Latest version: 2.4.0

Documentation: Click to view

Package structure:

  • bin
    • Aliyun.OSS.dll .NET assembly file
    • Aliyun.OSS.pdb Debugging and project status information file
    • Aliyun.OSS.xml Assembly comments file
  • doc
    • Aliyun.OSS.chm Help file
  • src
    • SDK source code
  • Sample
    • Sample source code

.NET SDK (2016-12-14)

Download: aliyun_dotnet_sdk_2.4.0


  • Added: SetObjectAcl/GetObjectAcl interfaces
  • Added: Image processing feature
  • Added: OssClient constructor for convenience of use
  • Fixed: High memory use when MemoryStream is used in GetObject
  • Fixed: The 5G limit for ContentLength in ObjectMetadata
  • Fixed: The absence of Proxy-Authorization header in some requests when Proxy is used

.NET SDK (2016-03-28)

Download: aliyun_dotnet_sdk_2.3.0


  • Newly added the ContentMd5 attribute for ObjectMetadata to support MD5 verification during file upload
  • Added verification of target bucket and target object name validity during the copy operation
  • Fixed failure to get Expires from Metadata
  • Fixed the invalid retry mechanism
  • Fixed the exception issue when Content-Encoding and other values are set to null
  • Fixed the error when the endpoint contains a null character at the beginning or end

.NET SDK (2015-12-12)

Download: aliyun_dotnet_sdk_2.2.0


  • Supported Mono 3.12.0 and later versions
  • Added the object append interface: AppendObject
  • Added the resumable upload interface: ResumableUploadObject
  • Added the resumable copy interface: ResumableCopyObject
  • Added some example projects
  • Deleted the dependency on the System.Web library

.NET SDK (2015-11-28)

Download: aliyun_dotnet_sdk_2.1.0


  • Supported .NET Framework 2.0 and .NET Framework 3.5
  • Added the large object copy interface: CopyBigObject
  • Added the large object upload interface: UploadBigObject
  • Added the object metadata modification interface: ModifyObjectMeta
  • Improved the SDK robustness
  • Added the ContentType support for a majority of MIME types (226 types)
  • Completed the missing comments in the SDK API quick reference documentation
  • Deleted the obsolete ObjectMetaData attribute from some classes. Please use the ObjectMetadata attribute of these classes instead

.NET SDK (2015-11-18)

Download: aliyun_dotnet_sdk_2.0.0


  • Capable of automatically determining the ContentType based on the object key and the suffix of the uploaded file’s name.
  • Added the default EncodingType parameter to the ListObjects, ListMultipartUploads, and DeleteObjects interfaces.
  • Added content MD5 verification to the UploadPart interface.
  • Added some example projects.
  • Simplified the namespace.
  • Merged duplicate directories.
  • Unified directory names.
  • Deleted duplicate test projects.
  • Modified the CNAME support format.
  • When the bucket or object does not exist, DoesObjectExist will not throw an exception but return “false”.

.NET SDK (2015-05-28)

Download: aliyun_dotnet_sdk_20150528


  • Added the support for bucket lifecycle to add and delete lifecycle rules.
  • Added the DoesBucketExist and DoesObjectExist interfaces for determining the existence of a bucket or an object.
  • Added SwitchCredentials to change user account information at runtime.
  • Added the ICredentialsProvider interface class to provide a custom policy for generating credentials by implementing the class.
  • Added the GeneratePostPolicy interface to generate Post Policy.
  • Added the asynchronization interface (supporting Put/Get/List/Copy/PartCopy asynchronous operations).
  • Added the STS support.
  • Added the custom time calibration feature. It can be set through the Client configuration item - SetCustomEpochTicks interface.
  • Added the support for Chunked encoding transfer. The Content-Length item can be skipped for the upload.
  • Fixed the bug of getting null results after setting the Expose Header attribute of the bucket CORS.
  • Fixed the bug that the SDK only gets the first prefix when multiple prefixes are contained in the returned CommonPrefixs in an ListObjects request.
  • Fixed the bug of null RequestId and HostId after resolution when an OSS-related exception occurs.
  • Fixed the bug of encoding error due to the Chinese characters in the source key of the CopyObject/CopyPart interface.

.NET SDK (2015-01-15)

Download: aliyun_dotnet_sdk_20150115


  • Removed OTS branch and renamed the assembly to Aliyun.OSS.dll
  • .NET Framework version upgraded to 4.0 and later
  • OSS: Added Copy Part, Delete Objects, Bucket Referer List and other interfaces
  • OSS: Added the pagination feature of ListBuckets
  • OSS: Added the CNAME support
  • OSS: Fixed the Put/GetObject stream interruption problem
  • OSS: Added samples

.NET SDK (2014-06-26)

Download: aliyun_dotnet_sdk_20140626

Open Services SDK for .NET includes the OSS and OTS SDKs. The .NET SDK adopted an interface design consistent with the Java SDK and made some improvements based on C#. (The latest version supports multipart uploads to the OSS)


  • Added the CORS feature.

2013/09/02- OSS:

  • Fixed the bug of being unable to throw correct exceptions in some cases.
  • Optimized the SDK performance.

2013/06/04- OSS:

  • Changed the default OSS service access method to a third-level domain name access method.

2013/05/20- OTS:

  • Changed the default OTS address to ots.aliyuncs.com.
  • Added the Mono support.
  • Fixed some bugs in the SDK, so that it runs more stably.

2013/04/10- OSS:

  • Added the multipart upload feature for object.
  • Added the copy object feature.
  • Added the feature to generate pre-signed URLs.
  • Isolated the IOSS interface which will be inherited by OssClient.

2012/10/10- OSS:

  • Changed the default OSS address to oss.aliyuncs.com.

2012/09/05- OSS:

  • Fixed the invalid parameters such as Prefix for ListObjects.

2012/06/15- OSS:

  • Added the OSS support for the first time. Included basic operations, such as create, modify, read and delete a bucket, an ACL or an object on the OSS.
  • OTS:
  • Supported reverse reads of OTSClient.GetRowsByOffset.
  • Added an automatic handling mechanism for errors of specific requests.
  • Added HTML help files.

2012/05/16- OTS

  • Supported reverse reads of Client.GetRowsByRange.

2012/03/16- OTS

  • Supported create, modify and delete operations by access interfaces on tables or table groups, as well as data insert, modify, delete and query operations.
  • Added the client access settings, such as proxy and HTTP connection attribute settings.
  • Unified the handling of structural exceptions.
Thank you! We've received your feedback.