2010-04-26 6 views
6

J'écris un programme qui est destiné à fonctionner sur .net framework 2.0. J'ai choisi 2.0 dans mon projet VS.Comment vérifier la compatibilité entre mon programme et les versions .NET Framework?

Il fonctionne bien sur ma machine (le mien a 2.0 SP2), donc il n'y a pas d'erreur de compilation. mais quand j'ai essayé de l'exécuter sur une autre machine (seulement avec 2.0, pas de sp), il ne peut pas fonctionner. Je suis conscient que j'ai utilisé une méthode qui est supportée par 2.0 mais seulement avec 2.0 SP2. Framework 2.0 SP2 ne semble pas être listé dans VS IDE, c'est pourquoi VS ne peut pas me donner d'avertissement quand je l'ai compilé sur ma machine.

Comment vérifier facilement la compatibilité de mes codes avec .net framework 2.0 SP2? ou je dois juste regarder msdn pour vérifier chaque méthode que j'ai utilisée ???

grâce

+0

Quelle exception obtenez-vous? – SLaks

+0

Méthode non trouvée. J'ai résolu ce problème, qui a été causé par j'ai utilisé une mauvaise méthode. – Jack

Répondre

0

Si vous êtes sûr que les bibliothèques spécifiques (dll) distinguez 2.0 SP2 de seulement 2.0, vous pouvez tenter de localiser et de les charger par programme. Si cela échoue, le SP2 n'est pas présent.

S'il n'y a pas de "nouvelle" DLL, vous pouvez utiliser la réflexion pour vérifier si une classe a une méthode spécifique. Si c'est le cas, vous avez SP2.

C'est une solution pour l'exécution, de sorte que vous pouvez afficher un message amical à l'utilisateur.

+0

Et si je n'en connaissais pas? dans le précédent, par exemple, j'ai utilisé une méthode dans la bibliothèque de 2.0, mais le compilateur ne m'a pas dit que c'était pour 2.0 SP2. Je veux juste savoir est-il un moyen facile de savoir quelle méthode ou classe est à partir de 2.0 SP2 ou plus précis. – Jack

+0

@Jack: Regardez la description de la méthode sur les pages MSDN. Il indique toujours quelle version du framework le supporte, y compris les données SP. –

0

Vous pouvez identifier où se trouve l'erreur dans votre code lorsqu'aucun sp n'existe.

Ensuite, il vous suffit de créer un extrait factice qui utilise cette structure et d'intercepter l'exception.

Si aucune exception n'est détectée, cela ne pose aucun problème. Si une exception est levée, il vous manque probablement sp2.