Je suis à la recherche d'un outil permettant de connaître les frameworks dans lesquels un assembly .NET fonctionnera. Ou plus précisément, quelles sont les versions BCL (bibliothèques de classes de base) des méthodes qui y sont requises. Ce qui m'a déclenché était: Aujourd'hui, j'ai reçu un rapport de bogue sur une application que nous faisons qui disait: "vous utilisez WaitOne (Int32) mais cela ne fonctionne que pour .NET 3.5 SP1, pas évident 3.5, utilisez WaitOne (Int32, Boolean) à la place ". Et en effet l'utilisateur avait raison. WaitOne a existé pour toujours dans .NET mais la surcharge particulière qui prend seulement un int a été introduite dans les Service Packs pour 1.0, 2.0 etc. Par conséquent, notre application échouerait par exemple. une installation de cadre 3.5 simple. Et franchement, nous n'avions pas testé pour ça. Au lieu de tester/charger l'application sur des machines avec toutes sortes de frameworks installés, ce qui n'est pas très simple, je cherche donc un outil qui puisse simplement me dire ce que les frameworks officiellement publiés mettent à jour les méthodes dans un assembly donné fonctionnera sous - ou, plus intéressant, quelles versions pas fonctionner et quelles sont les méthodes incriminées.Outil pour déterminer les dépendances du framework d'assemblage .NET
Répondre
Je ne connais pas personnellement d'outil capable d'analyser un assembly .NET et de vous indiquer les méthodes disponibles/indisponibles pour une version de framework spécifique.
Je pense que le mieux que vous pouvez faire est d'exécuter le code sous diverses configurations de la structure. Par exemple, vous pouvez essayer d'utiliser VMWare
ou Hyper-V
pour créer des machines virtuelles sur lesquelles différentes versions du framework .NET sont installées. Cela pourrait valoir un coup de feu. Autrement, vous devrez regarder manuellement votre code .NET et le réviser à la main, en référençant le code avec MSDN pour déterminer si une méthode est valide pour une version de framework spécifique. Je serais intéressé par les réponses des autres - s'il y a un outil qui peut analyser le code .NET pour déterminer la validité sur différentes versions, alors c'est une application de tueur! :)
J'apprécie la suggestion, et j'ai en fait un certain nombre d'images pour tester les choses. Mais le faire pour toutes les versions du framework et tous leurs packs de service est tout simplement trop de travail manuel. Je préfère passer ce temps à écrire moi-même l'outil :-) –
". Reflector" pourrait être d'une certaine aide ici, pour un billet de faveur, il est utile pour toutes sortes de choses. –
Reflector ne semble pas avoir d'add-in pour ce genre d'analyse, mais c'était quand même une très bonne suggestion. –
Aw, merde. J'étais juste en train de lire cette page, et je l'ai accidentellement dépréciée, mais après 4 heures, elle est bloquée. Pardon. –