.NET 4.7 application on EC2 Windows


Hi AWS, can you please confirm how to build CI/CD for legacy .NET applications written in 4.7

I am using Windows AMI 2022, do I need to replace it with Windows AMI 2019 as I was going through this link and read about it https://github.com/orgs/community/discussions/25253

Please confirm

profile picture
asked 7 months ago384 views
1 Answer

Hi Arjun!

Building a CI/CD pipeline for legacy .NET applications (like those written in 4.7) on AWS can indeed be a bit challenging, but it's definitely possible.

I've done this for some web applications I work on.

Here's a step-by-step guide to help you set this up:

  1. Windows AMI: You don't necessarily need to downgrade your Windows AMI to 2019, as the .NET 4.7 framework should be supported on the Windows 2022 AMI as well. However, sometimes, certain legacy applications might have specific dependencies that may not be available or have compatibility issues with newer OS versions. To be sure, you can test your application on both the 2022 and 2019 versions and see if there's any performance or compatibility difference.

  2. Setup CI/CD:

  • Source Control: Ensure your code is hosted in a version control system (like AWS CodeCommit, GitHub, or Bitbucket).
  • Build & Deployment: Use AWS CodeBuild and AWS CodeDeploy for building and deploying your .NET 4.7 applications. You would need to configure CodeBuild to use a Windows environment where .NET 4.7 is installed.
  • Pipeline: Create a pipeline using AWS CodePipeline, which integrates with CodeBuild and CodeDeploy to automate the build and deployment process.
  1. Configuration:
  • Buildspec: You would need a buildspec.yml file to specify the build process. This would contain instructions for how CodeBuild should build your .NET 4.7 application. You might specify steps to restore NuGet packages, build the solution, and package the build outputs for deployment.
  • AppSpec: Similarly, an appspec.yml file will be needed to instruct CodeDeploy on how to deploy your application.
  1. Testing:
  • Integrate automated testing into your pipeline to ensure the quality of the code. You can configure AWS CodeBuild to run unit tests as a part of the build process.
  1. Monitoring and Logging:
  • Use AWS CloudWatch to monitor the performance of your application and to set up alarms for any critical issues.

I hope this helps!

profile picture
answered 7 months ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions