AWS Developer Blog

AWS SDK for .NET now targets .NET Standard 2.0

The AWS SDK for .NET is distributed via NuGet packages for each service and a common core NuGet package. Each NuGet package contains different .NET assemblies, depending on your development platform. This includes .NET Framework 4.5, .NET Framework 3.5, the Portable Class Library version for Xamarin, and .NET Standard 1.3.

As .NET Core and .NET Standard have matured since their initial release, Microsoft has been encouraging the community to set the baseline for .NET Standard libraries to be 2.0. .NET Standard 2.0 improves how dependencies are resolved. Taking a dependency on library that does not target .NET Standard 2.0 potentially caused confusing build errors or required unnecessary .NET assemblies in project deployment packages.

AWS SDK for .NET and .NET Standard 2.0

We’re working to modernize the AWS SDK for .NET, and starting today, we’ve have taken the first step by including a .NET Standard 2.0 version of the SDK in our AWS SDK for .NET NuGet packages.  All AWS SDK for .NET packages starting with version 3.3.100 will contain .NET Standard 2.0 version of the SDK. The existing .NET Standard 1.3 version is still included. Although application targeting .NET Core 1.0 will continue to work, we suggest that you migrate your application to target .NET Core 2.1 because .NET Core 1.0 is scheduled to go out of support by Microsoft this summer.

Currently in AWS SDK for .NET, .NET Standard 1.3 version has the same API as .NET Standard 2.0 version. In the near future, we plan on adding functionality that takes advantage of the new APIs that are available in .NET Standard 2.0. We encourage the AWS .NET community to give us your feedback on what you would like added to the AWS SDK for .NET from .NET Standard 2.0. You can provide this feedback at our GitHub repository.

Mobile Development

AWS SDK for .NET NuGet packages contain Portable Class Library versions of the SDK for Xamarin and a separate version for Unity. Both Xamarin and Unity have moved to support .NET Standard 2.0. This is great for the .NET community, as it makes it easier to make one version of your library that supports all these platforms. Following Xamarin and Unity’s move to support .NET Standard 2.0, we’ll also build our mobile development story around .NET Standard. We plan on refactoring some of the Portable Class Library-specific and Unity-specific features into the .NET Standard version and removing Portable Class Library version from the NuGet packages.

We strongly encourage you to follow our .NET blog and watch for updates as we continue work on this transition from Portable Class Library to .NET Standard.

Summary

All AWS SDK for .NET NuGet packages starting with version 3.3.100 will include NET Standard 2.0 version of the SDK. To learn more about .NET Standard, visit Microsoft’s documentation page. To report any issues or provide feedback , please come join us at our GitHub repository.