Je suis l'exemple de la meilleure réponse ici à un T, compilant avec Pyc.py.IronPython, importation de modules
Build Python scripts and call methods from C#
je reçois une exception à pyScope = pyEngine.ImportModule("MyClass");
no module named MyClass
Je crois que ce soit un bug parfois recompilation avec Pyc.py produira un ImportModule dll reconnaît, mais d'autres fois, il ne le fait pas .
CONCLUSION: Comme noté ci-dessous par digEmAll, la compilation de modules avec Pyc.py à utiliser de cette manière produit des résultats aléatoires. Appelez clr.CompileModules manuellement à la place.
Ah, le module à importer prend toujours le nom du script à partir duquel l'assemblage a été créé, pas l'assemblage lui-même. Je peux confirmer que c'est vrai. –
Merci, mais cela n'a pas résolu le problème car l'expression "MyClass" n'apparaît nulle part dans mon projet comme autre chose que "MyClass". Je pense que le commentaire de Jeff M concernant les versions est ma prochaine voie d'investigation. Quelle version de IronPython et .NET utilisez-vous? Je voudrais bien entendre les devs à ce sujet. – cory
Essayez de renommer votre fichier .py différemment, mais pas MyClass.py. Quoi qu'il en soit, j'ai couru avec succès en ciblant à la fois .NET 2.0/4.0, avec IronPython.dll 2.6.10920.0 – digEmAll