Le développeur .NET Framework maintient des applications écrites en C# ou en VB.NET sur .NET Framework 4.6 à 4.8 : pages ASP.NET Web Forms ou MVC 5, services WCF en SOAP, accès aux données en ADO.NET ou avec Entity Framework 6, hébergement sur IIS. Les offres combinent souvent ce socle avec .NET 8 ou .NET 10, parce que la même personne corrige l'existant et participe à la migration.
Un développeur .NET récent n'a pas forcément vu de ViewState, de binding WCF ni de web.config de 800 lignes. À l'inverse, un profil qui n'a connu que .NET Framework peut ignorer ASP.NET Core et ne pas savoir ce qui se migre. Demandez les versions exactes et le dernier incident traité en production. Les bonnes réponses parlent de recyclage IIS, de quotas WCF, de requêtes concaténées, de bibliothèques ciblant deux frameworks.
.NET Framework 4.8 et 4.8.1 restent supportés tant que leur version de Windows l'est, mais ne reçoivent plus de nouvelles fonctions. Le support de .NET Framework 4.6.2 s'arrête le 12 janvier 2027. Le PDF détaille 30 questions sur six axes et un cas de reprise de 20 minutes.
Les briques d'une application .NET Framework à reprendre
.NET Framework 4.8 et 4.8.1
La dernière branche du .NET historique, réservée à Windows. Elle est supportée comme composant de Windows et ne reçoit plus que des correctifs. Les versions 4.5.2 à 4.6.1 ne sont plus supportées depuis avril 2022 et la 4.6.2 s'arrête en janvier 2027 : demandez sur quelle version tournaient les applications du candidat.
ASP.NET Web Forms
Des pages .aspx avec leur code-behind, des contrôles serveur comme la GridView, des postbacks et un ViewState qui garde l'état de la page dans un champ caché. Web Forms n'existe pas dans .NET moderne : son interface se réécrit en Razor Pages, MVC ou Blazor.
ASP.NET MVC 5 et Web API 2
Contrôleurs, vues Razor et routage, plus proches d'ASP.NET Core. Une application MVC 5 se migre beaucoup plus facilement qu'une application Web Forms. Beaucoup de solutions mélangent les deux.
WCF
Le framework de services de Microsoft, en SOAP le plus souvent. Il se configure dans la section system.serviceModel du web.config, avec des bindings (basicHttpBinding, wsHttpBinding, netTcpBinding). Côté serveur, il n'existe pas dans .NET moderne : on passe par CoreWCF, projet open source soutenu par Microsoft, ou par une API REST ou gRPC.
ADO.NET et procédures stockées
SqlConnection, SqlCommand, DataReader et DataSet, avec beaucoup de logique en procédures stockées sur SQL Server ou Oracle. C'est là qu'on trouve les requêtes concaténées et les connexions jamais fermées. Entity Framework 6, souvent avec un modèle EDMX, complète parfois l'ensemble.
IIS et web.config
Pools d'applications, recyclage, authentification Windows, transformations de configuration par environnement, bindingRedirect pour les conflits de versions de DLL. Une bonne partie des incidents de production se règle ici, sans toucher au code.
Outils de migration
Microsoft a déprécié .NET Upgrade Assistant et recommande désormais l'agent GitHub Copilot de modernisation, inclus dans Visual Studio 2026 et Visual Studio 2022 à partir de la version 17.14.16. Pour les grosses applications web, la migration progressive s'appuie sur YARP et les System.Web adapters.
Build et déploiement
MSBuild, anciens fichiers .csproj et packages.config, publication par Web Deploy, pipelines TFS ou Azure DevOps. La conversion des projets au format SDK est souvent la première étape concrète d'une migration.
Le poste se partage entre maintenance et modernisation. Côté maintenance, le développeur corrige des anomalies, ajoute des évolutions dans un code ancien et peu testé, et suit l'exploitation sur IIS avec l'équipe système. Côté modernisation, il prépare la migration vers .NET 10 : conversion des projets, bibliothèques partagées, réécriture des pages Web Forms, sort des services WCF. Les deux se mènent souvent en parallèle, sur la même solution. Aucune certification Microsoft en cours ne porte sur .NET Framework. Le niveau se mesure en entretien sur la connaissance de l'existant et sur la méthode de migration.
Ce qu'il faut vérifier chez un développeur .NET Framework
- Cycle de vie Web Forms et ViewState
- Services WCF : bindings, quotas et sécurité
- ADO.NET, procédures stockées et Entity Framework 6
- IIS, configuration et diagnostic de production
- Corrections sans régression dans du code non testé
- Migration progressive vers .NET 10
Cinq questions de production pour un développeur .NET Framework
Chaque question vient avec ce qu'une bonne réponse contient et le signal qui doit vous alerter. Pas besoin d'être technique pour les poser : écoutez si le candidat raconte du vécu.
Question 1 · confirmé
Une page Web Forms met huit secondes à s'afficher et le HTML envoyé pèse 2 Mo. Que regardez-vous en premier ?
Une bonne réponseLe champ caché __VIEWSTATE, souvent responsable du poids : une GridView liée à toutes les lignes d'une table, des contrôles qui gardent leur état sans raison. On désactive le ViewState là où il ne sert pas (EnableViewState, ViewStateMode), on pagine côté SQL, et on vérifie que Page_Load ne recharge pas les données à chaque postback. La trace de page ou un profileur montre où part le temps, y compris dans les requêtes SQL.
Signal d'alerte« On ajoute du cache navigateur » ou « on met un serveur plus puissant », sans jamais citer le ViewState.
Question 2 · confirmé
Un client SOAP reçoit une erreur de délai après une minute sur un service WCF qui traite un gros fichier. Que réglez-vous, et quelles questions posez-vous ?
Une bonne réponseLes délais du binding (sendTimeout vaut une minute par défaut, receiveTimeout côté serveur), maxReceivedMessageSize et les readerQuotas, des deux côtés, puis executionTimeout et maxRequestLength côté IIS. Pour les gros fichiers, transferMode en Streamed plutôt qu'un message entièrement chargé en mémoire. La bonne question à poser : faut-il vraiment un appel synchrone, ou un dépôt du fichier suivi d'un traitement en arrière-plan ?
Signal d'alerteMettre toutes les valeurs au maximum partout sans savoir laquelle bloque, ou ne modifier que la configuration du client.
Question 3 · junior à confirmé
Vous trouvez dans le code une requête construite de cette façon : "SELECT * FROM Clients WHERE Nom = '" + txtNom.Text + "'". Qu'en faites-vous ?
Une bonne réponseC'est une injection SQL. On passe par un SqlCommand avec des SqlParameter, de préférence avec Parameters.Add et le type explicite, ou par une procédure stockée paramétrée. La personne cherche les autres occurrences dans la solution, vérifie que les connexions sont dans des blocs using, et que le compte SQL de l'application n'a que les droits nécessaires.
Signal d'alerteDoubler les apostrophes avec Replace("'", "''"), ou « c'est une application interne, ça ne risque rien ».
Question 4 · senior
L'application doit passer de .NET Framework 4.8 à .NET 10 sans arrêter la production. Par où commencez-vous ?
Une bonne réponseUn inventaire : types de projets (Web Forms, MVC, WCF, bibliothèques), dépendances NuGet et tierces, usage de System.Web. Ensuite, projets au format SDK et bibliothèques ciblant net48 et net10.0. La migration se fait par étapes, selon le modèle Strangler Fig : une application ASP.NET Core placée devant avec YARP reprend les routes une à une et renvoie le reste vers l'ancienne, les System.Web adapters partagent session et authentification. Les pages Web Forms sont réécrites, les services WCF passent sur CoreWCF ou en API. Microsoft a déprécié .NET Upgrade Assistant au profit de l'agent GitHub Copilot de modernisation.
Signal d'alerte« On réécrit tout en partant de zéro », ou l'idée que Web Forms tourne sur .NET 10.
Question 5 · senior
Un service WCF doit continuer à servir ses clients SOAP actuels après la migration. Quelles options avez-vous ?
Une bonne réponseCoreWCF, portage open source de la partie serveur de WCF sur ASP.NET Core, soutenu par Microsoft, qui reprend les contrats existants et les bindings courants (basicHttpBinding, netTcpBinding, une partie de wsHttpBinding). Ou garder le service sur .NET Framework 4.8, toujours supporté avec Windows, le temps de migrer le reste. Ou écrire une API REST ou gRPC et conserver une façade SOAP pour les anciens clients. Le choix dépend des bindings et des fonctions WS-* réellement utilisés.
Signal d'alerte« WCF existe dans .NET 10 » côté serveur, ou imposer aux partenaires de changer leurs appels du jour au lendemain.
Recevez la fiche d'entretien complète en PDF
La fiche pour mener l'entretien de bout en bout, prête à imprimer ou à partager avec le manager.
- 30 questions sur 6 axes, avec la bonne réponse, le signal d'alerte et la relance
- Le niveau visé pour chaque question
- Une mise en situation de 20 minutes et ce qu'on attend du candidat
- La grille d'évaluation de 1 à 4, axe par axe
Développeur .NET Framework : les questions des recruteurs
Un développeur .NET 8 ou .NET 10 peut-il reprendre une application Web Forms ?
Il connaît C#, la plupart des bibliothèques et le SQL, mais il lui manque le cycle de vie des pages, le ViewState, les contrôles serveur et la configuration IIS. S'il n'a jamais vu de WCF, les quotas et les bindings le surprendront. Un profil récent motivé s'y met, à condition d'être accompagné sur l'existant. Pour un poste seul sur l'application, cherchez quelqu'un qui a déjà corrigé du Web Forms en production.
.NET Framework 4.8 est-il encore supporté par Microsoft ?
Oui. .NET Framework 4.8 et 4.8.1 sont supportés comme composants de Windows, tant que la version de Windows qui les porte l'est. Ils reçoivent des correctifs de sécurité, plus de nouvelles fonctions. Les versions 4.5.2, 4.6 et 4.6.1 ne sont plus supportées depuis avril 2022, et la 4.6.2 s'arrête le 12 janvier 2027. Une application sur ces versions doit au minimum passer en 4.8.
Un test technique en .NET moderne suffit-il pour ce poste ?
Non, il dit peu de chose sur la capacité à reprendre l'existant. Donnez un extrait de code réel anonymisé : une page Web Forms qui recharge ses données à chaque postback, un accès ADO.NET par concaténation, un client WCF dans un bloc using. Demandez de repérer les problèmes et de proposer une correction sûre, à voix haute. Le niveau se voit vite, et l'exercice ressemble au travail réel.
Faut-il recruter pour la maintenance ou pour la migration ?
Souvent les deux, mais pas au même niveau. La maintenance demande de connaître Web Forms, WCF, ADO.NET et IIS en détail. La migration demande en plus ASP.NET Core, la stratégie progressive avec YARP et les System.Web adapters, et l'habitude des bibliothèques à double cible. Un senior qui a déjà mené une migration encadre bien des profils confirmés qui tiennent l'existant. Précisez la part de chaque activité dans l'offre.
Pour structurer vos autres entretiens, consultez aussi nos pages sur les questions d'entretien de recrutement, la méthode de l'entretien structuré et la grille d'évaluation d'entretien.



