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