Demandez à VS de mettre en évidence tous les appels de méthode .Net 3.5 SP1
-
06-07-2019 - |
Question
Il existe de nombreuses nouvelles API dans .Net 3.5 SP1.
À part la désinstallation de .Net 3.5 SP1 (ou la réalisation de dev sur une machine virtuelle), existe-t-il un moyen de faire en sorte que VS 2008 cible .Net 3.5 (RC) par opposition à .Net 3.5 SP1?
Est-il possible de le faire émettre un avertissement lorsqu'une API non prise en charge dans 3.5 SP1 est appelée?
Question similaire: Trouver du code qui dépend de .NET 3.5 SP1
La solution
Cela a en fait une réponse étonnamment délicate.
Tout d’abord, pour obtenir cette fonctionnalité qui est décrite dans dans le post suivant , vous aurez besoin de la dernière version de fxcop ou de VS 2008 SP1.
Une fois l'installation terminée, une nouvelle règle (dans VS 2008 Team System) intitulée Règles de portabilité - > Utilisez uniquement les API du framework ciblé.
Mais cela ne suffit pas
Fxcop est actuellement livré avec des règles wpf peu fiables:
Citation de la dernière ligne de l'article ci-dessus:
Il semble y avoir des bugs dans ce parce qu'il ne s'est pas plaint quand je référence IEditableCollectionView qui a été ajouté dans 3.5 SP1. Comme un En fait, il semble que " C: \ Program Files \ Microsoft Visual Studio 9.0 \ Outils d'équipe \ Analyse statique Outils \ FxCop \ Repository \ Compatibility \ Desktop3.5SP1.xml " ne répertorie AUCUN des nouveaux WPF membres de l'assemblée.
Andrew, merci pour les commentaires. Vous sont corrects, il y a un bug. Les données pour WPF 3.5 SP1 est inclus, c’est juste répertorié sous 3.0 SP2. Cependant, le Attribut 'Priority' pour ce fichier et 2.0 SP2 est incorrect. J'ai transmis cette information à mon ancienne équipe, en En attendant, une solution consiste à manuellement changer ces fichiers; pour Desktop3.0SP2.xml changer la priorité de '3020' à '3520' et pour Desktop2.0SP2.xml changer la priorité de '3015' à '3515'.
Donc, vous devrez ouvrir craquer cmd dans admin et réparer ces fichiers si vous voulez que cela fonctionne.
Une fois que cela est fait, cela semble bien fonctionner.