Bonjour,

Sur une application Windows forms assez simple (génération dynamique d'une GUI depuis un fichier XML), je rencontre un problème assez étrange.

Je l'ai développée avec Visual Studio 2008. Je la compile en Net framework cible 2 (puisque je dois assurer une retro-compatibilité avec Windows 2000).

Cette compilation fonctionne à merveille avec Windows XP, mais le programme ne fonctionne pas du tout sous Windows 2000 : "Le programme a cessé de fonctionner". Pour trouver de plus amples informations, et effectuer une débogage (VS 2008 ne tourne pas sous Windows 2000), je suis passé par le débogage par le biais d'une machine virtuelle sous VMWare Workstation 6.5 (fonctionnalité qui marche à merveille et que je vous recommande).

Le pas à pas détaillé bloqué sur l'ouverture du fichier XML, avec une erreur du type "Échec de la demande d'autorisation de type

'System.Security.Permissions.FileIOPermission, mscorlib, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089'.

Je précise qu'il ne s'agit pas d'un problème de droit sur le fichier, qui est accessible par tout le monde avec tous les droits. La où c'est marrant, c'est que j'ai fait un test avec System.IO.File.Exists, et que Windows 2000 ne le voit pas comme existant !


Bloqué, j'ai téléchargé Visual Studio Express 2005 et je l'ai installé sur Windows 2000. Depuis là, j'ai créé un nouveau projet, et j'ai rajouté à la main tous les mes formulaires développés avec VS 2008.

Je compile ... Je lance ...

BINGO !

L'application tourne sans aucun problème, avec une rapidité fulgurante même.

Je sauvegarde cette solution, que je rouvre dans VS 2008 ... Je la convertis, je recompile ...

PADAM ! Erreur idem ...

J'en viens donc au fait que les compilateurs ne fonctionnent pas du tout pareil.

Quelqu'un aurait-il une sage solution à me proposer (autre que cette de compiler avec VS 2005 bien sûr) :-D


Merci à tous !