Ansys Workbench 2022 R1 : Dépannage d'une Erreur de Lancement après Installation

Après une installation réussie d'Ansys, il est possible de rencontrer une erreur spécifique lors du lancement de Workbench. Ce document détaille les étapes pour résoudre ce problème courant.

Symptômes de l'Erreur

Le message d'erreur typique qui apparaît à l'ouverture d'Ansys Workbench indique un problème d'initialisation de type lié à Ansys.Core.Expressions.ExpressionEvaluator, souvent accompagné d'une exception System.MissingMethodException, signalant l'impossibilité de trouver la méthode System.Collections.Generic.IEnumerable1<!!0> Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes(System.Reflection.Assembly, Boolean)`. Voici un extrait du journal d'erreur :

"Ansys.Core.Expressions.ExpressionEvaluator" de type initialiseur a levé une exception.
System.MissingMethodException: Impossible de trouver la méthode : "System.Collections.Generic.IEnumerable`1<!!0> Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes(System.Reflection.Assembly, Boolean)".
   à IronPython.Runtime.Binding.PythonBinder.DomainManager_AssemblyLoaded(Object sender, AssemblyLoadedEventArgs e)
   à IronPython.Runtime.Binding.PythonBinder..ctor(PythonContext pythonContext, CodeContext context)
   à IronPython.Runtime.PythonContext..ctor(ScriptDomainManager manager, IDictionary`2 options)
--- System.Reflection.TargetInvocationException: Échec du chargement du langage 'IronPython 2.7.4': Impossible de trouver la méthode : "System.Collections.Generic.IEnumerable`1<!!0> Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes(System.Reflection.Assembly, Boolean)".
   à Microsoft.Scripting.Runtime.LanguageConfiguration.LoadLanguageContext(ScriptDomainManager domainManager, Boolean& alreadyLoaded)
   ...
--- System.TypeInitializationException: "Ansys.Core.Expressions.ExpressionEvaluator" de type initialiseur a levé une exception.
   à Ansys.Core.Expressions.ExpressionEvaluator..ctor()
   ...
--- Ansys.Core.Commands.CommandFailedException: "Ansys.Core.Expressions.ExpressionEvaluator" de type initialiseur a levé une exception.
CommandName: Parameters.CreateStaticParameterContainer()
   ...
--- Ansys.Core.Commands.CommandFailedException: "Ansys.Core.Expressions.ExpressionEvaluator" de type initialiseur a levé une exception.
CommandName: Reset()
   ...

Si vous rencontrez ce type d'erreur, les étapes suivantes devraient vous permettre de la résoudre.

Origine du Problème

La cause principale de cette erreur réside dans une incompatibilité entre la version d'IronPython 2.7.4 utilisée par Ansys et une version de composant .NET présente sur le système. Plus précisément, la méthode Microsoft.Scripting.Utils.ReflectionUtils.GetCustomAttributes, essentielle pour IronPython, n'est pas trouvée, indiquant un désalignement des bibliothèques.

Procédure de Résolution

1. Vérification du Framework .NET

Assurez-vous que votre système dispose du .NET Framework 4.7.2 ou une version ultérieure (idéalement 4.8). Pour vérifier :

  1. Ouvrez le Panneau de configuration de Windows.
  2. Accédez à "Programmes" puis "Activer ou désactiver des fonctionnalités Windows".
  3. Vérifiez la version du .NET Framework installée. Si vous voyez le .NET Framework 4.8, c'est suffisant.
  4. Si votre version est inférieure à 4.7.2, téléchargez et installez le .NET Framework 4.8 (package hors ligne officiel de Microsoft).
  5. Un redémarrage de l'ordinateur est obligatoire après l'installation du .NET Framework.

2. Mise à jour des Bibliothèques IronPython

  1. **Localisation du répertoire IronPython d'Ansys :**Naviguez vers le chemin d'installation d'Ansys. Par exemple, si Ansys 2022 R1 est installé sur le lecteur E, le chemin pourrait être :

    E:\Program Files\ANSYS Inc\v221\commonfiles\IronPython
    

    (Note : v221 est le code interne pour 2022 R1. Si ce chemin n'existe pas, votre installation Ansys pourrait être incomplète.)

  2. **Sauvegarde d'IronPython :**Copiez l'intégralité du dossier IronPython trouvé à l'étape précédente vers un emplacement sûr (par exemple, votre bureau) et renommez la copie en IronPython_bak. Cette sauvegarde permettra de restaurer les fichiers originaux si nécessaire.

  3. **Téléchargement et remplacement des DLL :**Téléchargez le package binaire officiel d'IronPython 2.7.9. Après décompression, localisez les trois fichiers DLL suivants :

    • IronPython.dll
    • Microsoft.Scripting.dll
    • Microsoft.Dynamic.dll

    Copiez ces trois fichiers et collez-les dans le répertoire IronPython d'Ansys (celui trouvé à l'étape 1).

    E:\Program Files\ANSYS Inc\v221\commonfiles\IronPython
    

    Lorsque Windows vous demande si vous souhaitez remplacer les fichiers existants, confirmez la substitution pour chacun d'eux.

3. Dépannage Complémentaire (Si l'erreur persiste après redémarrage)

Si, après avoir suivi les étapes précédentes et redémarré votre ordinateur, l'erreur persiste au lancement de Workbench, il est possible que d'anciennes versions des assemblées IronPython soient encore présentes dans le Global Assembly Cache (GAC) de Windows.

  1. **Accès au GAC :**Appuyez sur Win + R, saisissez le chemin suivant et validez :

    %windir%\Microsoft.NET\assembly\GAC_MSIL
    
  2. **Recherche et renommage des répertoires obsolètes :**Dans le dossier ouvert, parcourez les éléments par ordre alphabétique et recherchez les dossiers nommés :

    • IronPython
    • Microsoft.Scripting
    • Microsoft.Dynamic

    Si l'un de ces dossiers existe, cela indique la présence d'une ancienne version. Renommez le dossier concerné (par exemple, ajoutez .bak à la fin du nom, comme IronPython.bak) pour le désactiver.

  3. **Redémarrage final :**Redémarrez votre ordinateur. Ensuite, tentez de relancer Ansys Workbench. L'application devrait maintenant démarrer sans erreur.

Étiquettes: Ansys Workbench IronPython .NET Framework Dépannage

Publié le 31 juillet à 07h32