Aller au contenu

Messages recommandés

Posté(e)

Bonjour,

 

Juste une petite info pour un problème que j'ai rencontré en portant un de mes plug-in sous 2025 et .Net Core 8

Pour ouvrir un fichier PDF par ex, j'utilisais ce code

      string sFileName = @"C:\TEST.pdf";
      Process.Start(sFileName);

qui fonctionnait très bien en .Net Framework mais qui ne fonctionne plus en .Net Core avec un message d'erreur indiquant un exécutable non compatible avec l'OS.

La raison est un changement de la valeur par défaut de la propriété UseShellExecute du processus qui est définie à true en .Net Framework et à false en .Net Core, comme indiqué dans la doc 

Cette propriété indique au système s'il faut ouvrir le fichier transmis avec l'application associée, ou bien le considérer comme un exécutable. Il faut donc initialiser cette valeur à true pour 2025, puisque fonctionnant le .Net Core. Le code pourrait devenir

      string sFileName = @"C:\test.pdf";
      ProcessStartInfo psi = new ProcessStartInfo(sFileName);
      psi.UseShellExecute = true;
      Process.Start(psi);

ou bien 

      string sFileName = @"C:\TEST.pdf";
      using (Process proc = new Process())
      {
        proc.StartInfo.FileName = sFileName;
        proc.StartInfo.UseShellExecute = true;
        proc.Start();
      }

Ce n'était pas très compliqué à trouver la solution, mais ça pourra éventuellement servir à quelqu'un qui rencontrerait le problème.

 

Olivier Eckmann

  • Like 1

Créer un compte ou se connecter pour commenter

Vous devez être membre afin de pouvoir déposer un commentaire

Créer un compte

Créez un compte sur notre communauté. C’est facile !

Créer un nouveau compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
×
×
  • Créer...

Information importante

Nous avons placé des cookies sur votre appareil pour aider à améliorer ce site. Vous pouvez choisir d’ajuster vos paramètres de cookie, sinon nous supposerons que vous êtes d’accord pour continuer. Politique de confidentialité