AWS Developer Tools Blog

AWS announces a streamlined deployment experience for .NET applications

We are happy to announce the general availability of a new deployment experience in both the Visual Studio and the .NET CLI. This follows the preview announcement from last year. The new deployment experience focuses on the type of application you want to deploy instead of individual AWS services by providing intelligent compute recommendations. You can find it in the AWS Toolkit for Visual Studio using the new “Publish to AWS” wizard. It is also available via the .NET CLI by installing AWS Deploy Tool for .NET. Together, they help easily transition from a prototyping phase in Visual Studio to automated deployments.

One of the major new features is deployment projects. This new concept lets you customize deployments inside Visual Studio or the CLI, including the UI, and share it with the rest of your team members. Deployment projects allow teams to come up with custom deployment scenarios and still provide their team with interactive or scriptable deployments.

What types of .NET applications are supported?

The new deployment experience supports ASP.NET Core, Blazor WebAssembly, console applications (such as long lived message processing services), and tasks that need to run on a schedule.

At this time, the .NET Lambda functions are not supported. The existing Lambda deployment wizard and .NET CLI Amazon.Lambda.Tools are still our recommended deployment options for .NET Lambda applications.

Getting started in Visual Studio

To get started in Visual Studio, install the latest version of the AWS Toolkit for Visual Studio from the Visual Studio Marketplace. Once the toolkit is installed and the AWS credentials are configured, you can right click in the Solution Explorer on the project to deploy by selecting the Publish to AWS… menu item.

"Publish To AWS" menu item

From there, the new wizard will navigate you to the AWS service that is best suited for your application. You can begin your deployment by simply clicking the Publish button. You can also customize the deployment by clicking the Edit settings button.

Available compute options

What about the old deployment experience?

The old deployment experiences “Publish to AWS Elastic Beanstalk” and “Publish Container to AWS” are still in the the toolkit, but now they are marked as Legacy in the context menu. There are no plans to extend those wizards in the future, so it is recommended for toolkit users to migrate to the new “Publish to AWS” wizard. If there are missing features that are blocking you from migrating, please open an issue on GitHub.

Getting started from the .NET CLI

To get started from the .NET CLI, you just need to run the following command to install the tooling from NuGet

dotnet tool install --global Aws.Deploy.Tools

Once the tooling is installed, you can run the following command to start the deployment experience

dotnet aws deploy

The deploy command will help you select the right AWS service to deploy to and help customize deployment settings. The experience between the CLI and Visual Studio is very similar, allowing you to deploy the same project from either environment.

You can also list your deployments with the dotnet aws list-deployments command or delete a deployment using dotnet aws delete-deployment. Use the dotnet aws --help command to find more information about other available commands.

What’s next?

During the preview period, listening to our users about their experience with the new tooling has allowed us to improve it and add more features that were important for their day-to-day operations. We will continue to expand the feature scope to make sure that deploying .NET applications to AWS is as easy as possible. Please, upgrade to the latest version of the Visual Studio Toolkit or install the AWS Deploy Tool for .NET, try a few deployments, and let us know what you think by opening a GitHub issue.

To learn more, check out our new Developer guide. The new .NET CLI tooling is open source and our Github repo is a great place to provide feedback. Bug reports and feature requests welcome!