Gestion des permissions
Lorsque vous publiez votre application, celle-ci n'a que des droits restreints car l'application est soit dans la zone « Local Intranet » ou « Internet ». Comme vous pouvez le voir ci-dessous, la zone « Local Intranet ne va pas avoir accès à l'assembly « File IO » :

Vous ne pourrez donc pas faire appel aux classes se trouvant dans le namespace « System.IO » par exemple. Pour changer la zone de votre application et ainsi avoir des droits sur l'assemby « File IO », allez dans les propriétés de votre projet puis dans la partie Security. Sélectionnez ensuite la zone « FullTrust » :

Incrémentez ensuite le numéro de version de votre application et republiez l'application. Pour tester si la modification a bien été prise en compte, vous pouvez ajouter le code suivant lorsque la form sera chargée :
MessageBox.Show(System.IO.Directory.GetCurrentDirectory()); Ce code va vous afficher le répertoire où se trouve votre application et pourra fonctionner seulement si le fichier de déploiement a des droits sur FileIO.