Le plus grand avantage d’ASP.NET, c’est-à-dire l’utilisation de l’écosystème propre à Microsoft, est également le plus grand inconvénient de cette technologie. En effet, le développement Web repose en grande partie sur des plates-formes, des langages et des formats libres et ouverts. Les développeurs qui plongent pour la première fois dans l'univers .NET sont confrontés à une variété déconcertante de versions et de modèles de programmation.
Traditionnellement, toute personne souhaitant développer avec le framework ASP.NET ne pouvait le faire que sous Windows. Depuis des années, Microsoft fait un effort concerté pour s’ouvrir aux normes largement utilisées et à l’open source. Avec l’apparition d’ASP.NET Core, le développement fonctionne désormais également sur les trois grandes familles de systèmes d’exploitation Windows, macOS et Linux. En outre, il est désormais possible de conserver l’environnement de développement dans un conteneur Docker.
L’ASP.NET classique ne pouvait être hébergé que sur la technologie de serveur de Microsoft, Internet Information Server (IIS). C’est un inconvénient majeur par rapport aux autres frameworks Web, qui fonctionnent tous également sous Linux. L’hébergement ASP.NET a des exigences particulières et n’est pas disponible auprès de tous les fournisseurs. Même s’il était possible d’utiliser d’autres serveurs Web avec « Mono » en tant qu’implémentation .NET gratuite, le véritable changement n’est intervenu qu’avec l’apparition de .NET Core et de l’« Open Web Interface for .NET » (OWIN). En effet, OWIN permet de découpler une application ASP.NET du serveur Web sous-jacent, levant ainsi l’un des principaux obstacles à l’utilisation d’ASP.NET.