J'intègre IronPython dans mon application C#. Pour une raison quelconque, j'ai du mal à charger les assemblages. Plus précisément, je veux System.dll afin que je puisse avoir accès aux classes .NET comme DateTime.Incorporation d'IronPython - Impossible d'ajouter une référence au système
Si je tente la ligne:
_runtime.LoadAssembly(_runtime.Host.PlatformAdaptationLayer.LoadAssembly("System"));
je reçois:
could not load file or assembly 'System'
Si je tape explicitement le chemin d'accès C: /WINDOWS/Microsoft.NET /.../ System.dll Je reçois:
The given assembly name or codebase was invalid. (Exception from HRESULT: 0x80131047)
alors j'ai essayé de faire l'importation à l'aide clr dans le script Python:
import clr
clr.AddReference('System')
from System import DateTime
Et maintenant je:
Cannot import name DateTime
Où vais-je tort? Pourquoi DateTime n'est pas dans System et pourquoi LoadAssembly ne peut pas trouver System.dll? Dois-je explicitement définir des chemins de recherche pour IronPython? Est-ce qu'il trouve un «système» invalide?
Tout cela fonctionne très bien lorsque je teste dans l'interpréteur IronPython.
Merci, je devrais vraiment creuser là-bas et voir ce que je peux trouver d'autre. – cgyDeveloper
De quel module ai-je besoin pour importer afin d'appeler engine.Runtime.LoadAssembly()? –
Il doit figurer dans la classe ScriptRuntime dans Microsoft.Scripting.dll. Ce n'est pas une méthode d'extension pour autant que je sache. C'est pour IronPython 2.6, au moins. –